4

我需要构建一个系统环境变量,然后我用它os.putenv(key, value)来构建一个,然后print os.getenv(key)控制台输出None

但是当我用来构建它时,控制台会输出值(这里是print os.getenv(key)or )。print os.environ[key]os.environ[key] = value

但是,如果 .key 和 value 不在字典中print os.environ

为什么无法成功构建系统环境变量?我使用 Windows 7 和 Python 2.7.5。

4

1 回答 1

3

如果您阅读文档,您将得到为什么 os.putenv 不起作用的答案:

在第一次导入 os 模块时捕获此映射,通常在 Python 启动期间作为处理 site.py 的一部分。在此时间之后对环境所做的更改不会反映在 os.environ 中,但直接修改 os.environ 所做的更改除外。

如果平台支持 putenv() 函数,则该映射可用于修改环境以及查询环境。修改映射时将自动调用 putenv()。

注意 直接调用 putenv() 并不会改变 os.environ,所以最好修改 os.environ。

于 2013-06-27T03:10:57.963 回答