os.environ
是 Python 中一个包含了当前运行环境环境变量的字典对象。以下是 os.environ
的详细使用示例:
读取环境变量
import os
# 读取 PATH 环境变量
path = os.environ.get('PATH')
print("PATH:", path)
# 读取不存在的环境变量,使用默认值
non_existent_var = os.environ.get('NON_EXISTENT_VAR', 'default_value')
print("NON_EXISTENT_VAR:", non_existent_var)
设置环境变量
import os
# 设置一个新的环境变量
os.environ['MY_VAR'] = 'my_value'
# 验证环境变量是否设置成功
print("MY_VAR:", os.environ.get('MY_VAR'))
删除环境变量
import os
# 假设已经设置了 MY_VAR 环境变量
os.environ['MY_VAR'] = 'my_value'
# 删除 MY_VAR 环境变量
os.environ.pop('MY_VAR', None) # 第二个参数是默认值,如果环境变量不存在则返回该值
# 验证环境变量是否被删除
print("MY_VAR:", os.environ.get('MY_VAR'))
遍历所有环境变量
import os
# 遍历所有环境变量
for key, value in os.environ.items():
print(f"{key}: {value}")
使用环境变量启动 Python 脚本
你可以在命令行中设置环境变量,然后在 Python 脚本中读取它们:
# 在 Unix/Linux/MacOS 中
export MY_VAR=my_value
# 在 Windows 中
set MY_VAR=my_value
# 然后在 Python 脚本中
import os
print("MY_VAR:", os.environ.get('MY_VAR'))
在 Python 脚本中设置环境变量,影响子进程
当你在 Python 脚本中设置环境变量时,这些变量将只影响由该脚本启动的子进程:
import os
import subprocess
# 设置环境变量
os.environ['MY_VAR'] = 'my_value'
# 启动一个子进程,它将能够访问 MY_VAR 环境变量
result = subprocess.run(['env'], capture_output=True, text=True)
print(result.stdout)
注意事项
- 修改
os.environ
只影响当前 Python 进程及其子进程,不会影响父进程或其他进程。 - 在 Windows 上,环境变量名不区分大小写,但在 Unix 和 MacOS 上是区分大小写的。
- 使用
os.environ.get()
而不是os.environ[]
可以避免在环境变量不存在时抛出KeyError
。
这些示例展示了如何使用 os.environ
来读取、设置和删除环境变量,以及如何在 Python 脚本中使用环境变量。