命令行上 环境变量的替换由外壳程序完成,而不是由/ bin / echo完成。因此,您需要在shell中运行命令以获取替换:
In [22]: subprocess.Popen('/bin/echo $TEST_VARIABLE', shell=True, env=d).wait()1234Out[22]: 0
但这并不意味着在时未设置环境变量
shell=False。即使没有
shell=True,可执行文件也会看到该参数设置的环境变量
env。例如,
date受
TZ环境变量影响:
In [23]: subprocess.Popen(["date"], env={'TZ': 'America/New_York'}).wait()Wed Oct 29 22:05:52 EDT 2014Out[23]: 0In [24]: subprocess.Popen(["date"], env={'TZ': 'Asia/Taipei'}).wait()Thu Oct 30 10:06:05 CST 2014Out[24]: 0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)