Python读取环境变量最常用方式是os.environ,推荐用get()安全获取值并支持默认值,避免KeyError;支持in判断存在性、大小写敏感;可运行时增删改但仅限当前进程;值均为字符串需手动转换类型。

Python 读取环境变量最常用、最直接的方式就是通过 os.environ,它是一个类似字典(Mapping)的对象,底层映射操作系统环境变量。
获取单个环境变量值
使用 os.environ.get(key) 是最安全的做法,推荐始终优先使用 get() 方法:
- 如果变量存在,返回对应字符串值;
- 如果不存在,返回
None(或你指定的默认值,如os.environ.get('DEBUG', 'False')); - 避免直接用
os.environ['KEY'],否则变量缺失时会抛出KeyError异常。
检查环境变量是否存在
可以用 in 操作符判断键是否在 os.environ 中:
-
'DATABASE_URL' in os.environ→ 返回True或False; - 注意:环境变量名区分大小写(尤其在 Linux/macOS),Windows 下通常不敏感但 Python 仍按原样匹配。
设置和修改环境变量(运行时)
os.environ 支持增删改,但仅影响当前 Python 进程及其后续启动的子进程:
立即学习“Python免费学习笔记(深入)”;
- 设置:
os.environ['MY_VAR'] = 'value'; - 删除:
del os.environ['MY_VAR']或os.environ.pop('MY_VAR', None); - ⚠️ 注意:修改不会反向写入系统环境,也不会影响父进程或其他已运行程序。
批量读取与类型转换
环境变量值始终是字符串,需手动转类型:
- 布尔值:
os.environ.get('DEBUG', '').lower() in ('1', 'true', 'yes', 'on'); - 整数:
int(os.environ.get('PORT', '8000'))(建议加 try/except); - 列表(如用逗号分隔):
[item.strip() for item in os.environ.get('ALLOWED_HOSTS', '').split(',')] if os.environ.get('ALLOWED_HOSTS') else []。
实际项目中常配合 python-decouple、dotenv 或 pydantic-settings 等库做更健壮的配置管理,但 os.environ 始终是底层基础。不复杂但容易忽略细节。










