Bootstrap

python通过os.environ操作环境变量详细示例

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 脚本中使用环境变量。

;