Python子进程/ Popen具有修改的环境

问题:

我相信运行一个稍微修改环境的外部命令是一个很常见的情况。这就是我的倾向:

import subprocess, os
my_env = os.environ
my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"]
subprocess.Popen(my_command, env=my_env)

我有一个直觉,有一个更好的方法;看起来好吗?

回答:

如果您不打算修改当前进程的os.environ,我认为os.environ.copy()更好:

import subprocess, os
my_env = os.environ.copy()
my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"]
subprocess.Popen(my_command, env=my_env)

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Python subprocess/Popen with a modified environment

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 67 = 74