python - 如何在 Python 中进行环境变量更改?

标签 python environment-variables

根据我的阅读,对 Python 实例中环境变量的任何更改仅在该实例中可用,并且在实例关闭后消失。有什么办法可以通过将它们提交到系统来让它们坚持下去?

我需要这样做的原因是因为在我工作的工作室中,像 Maya 这样的工具严重依赖环境变量来配置跨多个平台的路径。

我的测试代码是

import os
os.environ['FAKE'] = 'C:\\'

打开另一个 Python 实例并请求 os.environ['FAKE'] 会产生 KeyError

注意:可移植性将是一个问题,但我正在编写的小 API 将能够检查操作系统版本并在必要时触发不同的命令。

也就是说,我已经走上了使用 Windows 注册表技术的路线,并且将简单地编写替代方法,以便在需要时调用其他平台上的 shell 脚本。

最佳答案

您可以在命令行中使用 SETX。

默认情况下,这些操作在 USER 环境变量上进行。 要设置和修改 SYSTEM 变量,请使用/M 标志

import os
env_var = "BUILD_NUMBER"
env_val = "3.1.3.3.7"
os.system("SETX {0} {1} /M".format(env_var,env_val))

关于python - 如何在 Python 中进行环境变量更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/488366/

相关文章:

python - 模型中的 Django 循环导入

python - 将多行输入存储到字符串中 (Python)

python - 计算 csv 文件的列中字符串的出现次数

python - 变换|字典中的分隔值

docker-compose env 文件在 yml 中工作但不使用命令行参数

ruby-on-rails - Capistrano:如何设置全局环境变量?

Python如何在运行脚本处理文件时传入一个可选的文件名参数

bash - 从 bash 脚本使用 .bashrc 中定义的环境变量

linux - 如何持久化 linux 环境变量?

php - 无法在 PHP 中检索 Apache 环境变量