我需要在python中设置一个环境变量,然后尝试下面的命令
import os
basepath = os.putenv('CPATH','/Users/cat/doc')
basepath = os.getenv('CPATH','/Users/cat/doc')
当我打印varible时,它们没有设置: 打印基道 无
我做错了什么?
重新提出问题,我想基于环境变量创建一个基本路径。我正在测试这个:
os.environ["CPATH"] = "/Users/cat/doc"
print os.environ["CPATH"]
base_path=os.getenv('C_PATH')
当我尝试打印基道时: 打印基道 它总是回归 无
答案 0 :(得分:8)
试试这个。
os.environ["CPATH"] = "/Users/cat/doc"
Python documentation非常清楚。
直接调用putenv()不会改变os.environ,所以最好修改os.environ。
根据文档,os.getenv()
可用于大多数Unix和Windows版本。 OS X未列出。
使用下面的代码片段来检索值。
value = os.environ.get('CPATH')
答案 1 :(得分:2)
使用os.environ
:
os.environ['CPATH'] = '/Users/cat/doc'
print os.environ['CPATH'] # /Users/cat/doc
print os.environ.get('CPATH') # /Users/cat/doc
有关详细信息,请参阅上面的link:
如果平台支持putenv()函数,则此映射可能是 用于修改环境以及查询环境。 修改映射时将自动调用putenv()。
注意直接调用putenv()不会改变os.environ,所以就是这样 最好修改os.environ。
答案 2 :(得分:0)
在功能完成时恢复环境变量是一个很好的做法。
您可能需要modified_environ
中描述的with modified_environ(CPATH='/Users/cat/doc'):
call_my_function()
上下文管理器来恢复环境变量。
用法示例:
git fetch azure-qa master