我认为在稍微修改的环境下运行外部命令是一种非常常见的情况.我倾向于这样做:
import subprocess, os
my_env = os.environ
my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"]
subprocess.Popen(my_command, env=my_env)
我有一种直觉,觉得有更好的方法;看起来还好吗?
我认为在稍微修改的环境下运行外部命令是一种非常常见的情况.我倾向于这样做:
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.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)