Popen丢弃的密钥不是以env

时间:2018-03-26 16:09:36

标签: python python-3.x subprocess popen

我无法使用Popen将某些环境变量传递给流程。请考虑以下代码段:

from subprocess import Popen

env = dict()
env['VALID_VAR'] = 'some value'
env['1INVALID_VAR'] = 'other value'

proc = Popen(['./test'], env=env)

我希望新流程同时将VALID_VAR1INVALID_VAR作为环境变量,但1INVALID_VAR会被删除。

我的问题是为什么python会删除密钥,以及我可以将这些密钥传递给子进程的其他方式。

系统信息

操作系统:Ubuntu 17.10
Python:3.6.3

作为参考,这是我用来检查子进程得到哪些变量的代码(C):

include <stdlib.h>

int main() {
    system("printenv");
}

0 个答案:

没有答案