0

所以我已经被这个问题困扰了一段时间了。我有一个需要执行 bash 脚本的 cgi python 脚本。我的代码中有以下行:

os.system("/complete/path/to/executable/run_summary_page.sh " + labelName)

我已经尝试调试了好几个小时,但我不知道为什么它不能正确执行。当我从命令行运行相同的完全相同的行时,它工作得非常好。我已对该 bash 脚本等赋予了正确的权限,但它仍然无法正常工作。请注意,我被迫使用 python 2.2,所以我对可用的实用程序数量有点限制。

4

1 回答 1

1

我不记得 python 2.2 中的所有内容,但您可以尝试一个简单的替代方法来调用该命令并查看正在发生的事情:

import commands
stat, output = commands.getstatusoutput("command")

这不是运行命令的最可靠方法,但它是检查当前正在发生的事情的一种简单方法。如果stat是,!= 0那么它失败了。您还应该能够在output

如果stat == 0并且 中没有什么有趣的东西output,那么我怀疑你的 bash 脚本遇到了一些情况,结束了,并且没有真正打印任何有用的东西。也许它期望某些环境变量,并且在某些事情不正确时忽略并愉快地前进。

于 2012-06-15T19:59:12.207 回答