【发布时间】:2014-06-13 15:25:52
【问题描述】:
我正在尝试使用 Python 和子进程从 Perl 脚本中检索一些信息:
command = ["perl","script.perl","arg1.txt","<","arg2.txt"]
print " ".join(command)
p = subprocess.Popen(command,stdout=subprocess.PIPE,shell=True)
text = p.stdout.read()
join-statement 只是打印命令,就像我在终端中输入它以仔细检查命令的质量一样。那个总是有效的......但在 Python 中,它挂在 subprocess.Popen() (在 p= ... )。
我还尝试了其他几个methods,例如call(),但无济于事。
它只输出一行文本,所以我不知道这可能是什么问题。
【问题讨论】:
-
您可以尝试使用
strace -ff运行 Python,以确切了解是什么操作导致它挂起。
标签: python perl command buffer subprocess