在 Python 可以使用 os 模块的 os.environ
处理环境变量。
使用 os.environ
将获取到 Python 脚本启动时的环境变量,它是个 mapping
对象,可以像字典一样操作。
按照环境变量名取得它的值,建议使用 get
方法。
>>> import os
>>> os.environ["SHELL"]
'/bin/bash'
>>> os.environ.get("LANG")
'en_US.UTF-8'
# 没有该环境变量时返回 None
>>> os.environ.get("MONEY")
>>>
虽然有 os.putenv
函数添加新的环境变量,但是推荐直接使用 os.environ
添加新的环境变量。
下面的代码可以看出 2 种方法的区别,使用 os.putenv
可以添加环境变量,但是添加后不更新 os.environ
对象,因此无法直接访问;使用 os.environ
添加新环境变量不会有这个问题。
添加的环境变量会作用于当前 Python 进程和子进程,但是 Python 主进程退出后不会影响到 shell 环境,也就是说你完全可以添加新环境变量而不删除。
>>> os.putenv("MONEY", "100000000")
>>> os.environ.get("MONEY")
# 添加后不更新 os.environ
>>> os.getenv("MONEY")
>>> os.environ["MONEY"] = "100000000"
# 添加后更新 os.environ
>>> os.environ.get("MONEY")
'100000000'
>>> os.getenv("MONEY")
'100000000'
删除环境变量也像删除字典的元素一样,推荐使用 pop
方法。
>>> del os.environ["MONEY"]
>>> os.environ.pop("MONEY", "default")
'default'