我需要在windows机器(Windows 7)的背景下运行
os.system("SET TZ=GMT-5 && firefox")似乎我应该使用Popen,但是命令
subprocess.Popen("SET TZ=GMT-5;firefox", shell=True, stdin=None, stdout=None, stderr=None)没有效果。其他变体os.spawnl会导致错误,因为我使用rpc。
知道如何在bg中运行os.system("SET TZ=GMT-2 && firefox")吗?
解决方案1
在start命令前面添加*.exe
os.system("SET TZ=GMT-5 && start firefox")发布于 2017-04-11 11:32:08
正如注释中已经暗示的那样,您可以将一个env参数传递给Popen和朋友,以修改正在启动的程序的环境。
我猜您实际上想要subprocess.run(),但这显然取决于启动过程后需要对它做什么。
subprocess.run(['firefox'], env={'TZ': 'GMT-5'})正如注释中所指出的,您可能希望通过添加传递所有的os.environ。
env = os.environ.copy()
env['TZ'] = 'GMT-5'
subprocess.run(['firefox'], env=env)当然,如果您的更改是无害的,您可以直接操作os.environ。
https://stackoverflow.com/questions/43344223
复制相似问题