无法从python shell脚本中获取bash文件

时间:2017-06-22 21:13:38

标签: python bash python-2.7 shell tcsh

您好我正在尝试从我的pythons脚本中说check.setup文件来源。 代码

import os
os.system("source /fullpathhere/check.setup")

它说找不到命令。令人惊讶的是,我可以直接从shell中获取相同的文件。 check.setup是csh文件。它正在寻找其他.csh文件并设置一些环境变量我在这里看到了一些答案,但没有人能够解决问题。 PS:我试着写bash文件而不是python。我也尝试过使用subprocess.Popen。问题依然存在。 Aashish

2 个答案:

答案 0 :(得分:0)

使用popen

subprocess.Popen('source ./fullpathhere/check.setup', shell=True)

答案 1 :(得分:0)

为什么没有将您的帖子标记为 csh ,即使您在问题中明确提到了csh ......

没有可执行文件名(您可以通过键入bin/which source来验证它。嗯,您自己指出,这应该由 csh < / em>,但如果你不告诉它,Python应该如何知道它需要调用csh?

我的系统上没有csh,但是如果我记得几十年前,我确实使用csh进行编程,你可以做类似的事情

os.system("csh -c fullpathhere/check.setup")

实际上,我还会为跳过.cshrc指定-f标志,除非你真的需要它来源。