如何在Python中设置和检索环境变量

2024-05-15 00:27:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在python中设置一个环境变量,并尝试下面的命令

import os
basepath = os.putenv('CPATH','/Users/cat/doc') 
basepath = os.getenv('CPATH','/Users/cat/doc') 

当我打印变量时,它们没有设置: 打印基路径 无

我做错什么了?

换言之,我想创建一个基于环境变量的基本路径。我在测试这个:

os.environ["CPATH"] = "/Users/cat/doc"
print os.environ["CPATH"]
base_path=os.getenv('C_PATH')

当我试图打印基本路径时: 打印基路径 它总是回来 无


Tags: import命令路径basedocosenviron环境变量
3条回答

在函数完成时恢复环境变量是一个很好的实践。 您可能需要像本question中描述的modified_environ上下文管理器这样的东西来还原环境变量。

用法示例:

with modified_environ(CPATH='/Users/cat/doc'):
    call_my_function()

试试这个。

os.environ["CPATH"] = "/Users/cat/doc"

Pythondocumentation对此非常清楚。

Calling putenv() directly does not change os.environ, so it’s better to modify os.environ.

根据文档,可以在大多数类型的Unix和Windows上使用os.getenv()。OS X未列出。

请使用下面的代码片段来检索该值。

value = os.environ.get('CPATH')

使用^{}

os.environ['CPATH'] = '/Users/cat/doc'    
print os.environ['CPATH']     # /Users/cat/doc
print os.environ.get('CPATH') # /Users/cat/doc

有关详细信息,请参见上面的link

If the platform supports the putenv() function, this mapping may be used to modify the environment as well as query the environment. putenv() will be called automatically when the mapping is modified.

Note Calling putenv() directly does not change os.environ, so it’s better to modify os.environ.

相关问题 更多 >

    热门问题