调用 subprocess.call 后更改环境变量会影响调用所看到的环境吗?
我基本上想做这样的事情:
main.py:
for i in range(1,trials):
os.putenv('trial', str(i))
subprocess.call(foo.py)
foo.py:
trial = os.getenv('trial')
...do stuff with trial...
foo.py 是一个我无法更改的文件,所以我不能让它接受命令行参数。是否存在我需要担心的竞争条件,或者我是否保证对 foo.py 的第 i 个调用具有试用 = i 的环境?