我无法使用Popen
将某些环境变量传递给流程。请考虑以下代码段:
from subprocess import Popen
env = dict()
env['VALID_VAR'] = 'some value'
env['1INVALID_VAR'] = 'other value'
proc = Popen(['./test'], env=env)
我希望新流程同时将VALID_VAR
和1INVALID_VAR
作为环境变量,但1INVALID_VAR
会被删除。
我的问题是为什么python会删除密钥,以及我可以将这些密钥传递给子进程的其他方式。
操作系统:Ubuntu 17.10
Python:3.6.3
作为参考,这是我用来检查子进程得到哪些变量的代码(C):
include <stdlib.h>
int main() {
system("printenv");
}