带有|的多个命令在Python中

时间:2013-01-10 16:02:05

标签: python-2.7

我尝试通过Python执行以下命令行。

Cat File |grepcidr -f file.name >>output.file

如果我使用subprocess.call

subprocess.call(["cat", "File", "|", "grepcidr -f", "file.name", ">>output.file"])

它只是尝试Cat一切。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

琐碎但不可移植的方式:

subprocess.call(["/bin/sh","-c","cat File | grepcidr -f file.name >>output.file"])

它需要/bin/sh,如果您依赖cat,这应该不会成为问题。我认为可以自己建立一个合作子流程系列:你必须做/bin/sh对管道和重定向的处理,但是在python中。