读取环境全局变量(而不是过程变量)

时间:2014-11-05 09:55:33

标签: python

引言

我在从python调用进程(通过subprocess库)运行第三方可执行文件时遇到问题。程序崩溃,而它从命令行完美运行。原因是子进程中存在环境变量冲突,即一个可用且不应该的变量(此变量在python进程范围中定义)

例如,如果在流程中存在环境变量MYVAR = 'hello',但系统中尚未定义此var,则MYVAR中将显示os.environ,这是os.environ在子进程调用中默认使用。

我的意思

我需要完全重现进程调用,就好像它直接来自命令行一样(我可以为进程调用手动删除此变量,但这可能会导致维护噩梦)

要实现这一点,我需要读取环境/系统全局变量,不是python进程可用的环境变量。有了这个,在适当的环境下进行流程调用是没有道理的。

我做了什么

使用{{1}},但如前所述,它显示了python进程可用的变量......

0 个答案:

没有答案