Python 2.4.6子进程令我困惑

时间:2012-03-12 17:08:14

标签: python subprocess

我编写了一个很好的python脚本,它解析XML并添加一些复杂的逻辑,然后通过子进程模块与外部命令进行交互。

大多数subprocess.Popen调用完全按照预期执行,但最后一个调用只是拒绝执行。没有错误消息,它只是没有做它应该做的事情。我甚至将实际的CMD放入一个由调试语句包围的shell脚本中,然后执行shell脚本,而不是实际的CMD。

更令人愤怒的是,单独的.py文件中的相同代码行执行得很好。

我不知道为什么或如何做到这一点?

python代码生成一个文件并尝试使用选项

调用外部命令
p = subprocess.Popen([CMD,'object','new_host','--file','/tmp/add.1234'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
r = p.communicate()
print r

这个逻辑在独立文件中工作,但不在较大的python脚本中(其中有其他工作的Popen调用)。

有人知道为什么会这样吗?

PS:我无法将python更新为更新版本

0 个答案:

没有答案