最近,我想使用python脚本在linux.This中设置环境,这是我的代码中的一行:
p = subprocess.call(['/bin/csh', '-c', "source setup.csh"])我的setup.csh文件如下:
add questa10.2b
add ds5-2013.06
setenv MODELSIM modelsim.ini但是当我运行我的python时,它在屏幕上显示了文件的来源,但事实证明我必须在命令行上输入自己。
我该如何解决这些问题呢?有谁能帮我一下吗?
发布于 2016-02-22 10:35:56
您将创建一个新的csh shell作为一个子进程,然后在该shell中运行命令,然后该shell将终止。这些命令不会在运行Python的父shell中运行,也不会影响父shell。当您自己运行这些命令时,它们会影响当前的shell。
如果需要在Python终止后将这些设置保留在当前shell中,通常最好的方法是使用source setup.csh,而不是将其放入Python脚本中。如果Python脚本的其他子进程需要您的环境变量,您可以更改os.environ。
https://stackoverflow.com/questions/35544801
复制相似问题