我很难在Python脚本中访问环境变量,但这些环境变量是由C shell脚本创建的。为了进一步阐述我的问题,我正在做的是:
call.subprocess(['csh_script_that_sets_envar_abc.csh'])
print os.environ.get("abc")
结果:
None
为什么C shell脚本无法在Python脚本中设置环境。
答案 0 :(得分:1)
简洁地说,子进程(C shell脚本)没有合理的方法在父进程(Python代码)中设置环境变量。子进程不能像那样影响父进程。
Python或C shell本身并不特殊;它是类Unix系统上的父进程和子进程的属性。