导入在Python中创建环境变量?

时间:2014-08-08 13:56:39

标签: python environment-variables subprocess

这可能是一个愚蠢的问题。我有用Python调用子进程的代码。要使它工作并找到程序,我需要在我的Mac TEST__LIB_PATH上设置一个环境变量。

subprocess.call(["find_info",
                          image,
                          json_file])

在Python中有没有办法我可以导入这个环境变量而不必全局设置它?

2 个答案:

答案 0 :(得分:2)

call采用关键字参数env,该参数将映射用作命令的环境。当前环境在os.environ;你可以用

之类的东西扩展它
subprocess.call(["find_info", image, json_file],
                env=dict(TEST__LIB_PATH="/path/requried/for/test", 
                         **os.environ))

答案 1 :(得分:1)

您可以使用os.environ访问环境变量:

import os
print(os.environ['TEST__LIB_PATH'])

os.environ也有get()方法:

os.environ.get('TEST__LIB_PATH')

编辑:这里是指向the docs

的链接