使用Popen()函数从外部软件调用命令

时间:2015-01-13 11:37:20

标签: python subprocess popen

我正在编写Python脚本,我必须从外部软件调用命令。我目前正在使用Popen()函数来调用这样的命令。该命令也有一些选项。我想知道如何将这些选项合并到Popen()函数中。我现在使用的代码是:

from subprocess import Popen, PIPE
proc = Popen(["halSummarizeMutations", hal_output], stdout=PIPE)
summary_mutation = proc.communicate()[0]

在Popen()函数中,我应该接受一个变量来获取命令的选项。修改后的代码应如下所示:

proc = Popen(["halSummarizeMutations", --option optioninput, hal_output], stdout=PIPE)

代码是正确的还是有不同的方法来编码?提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果你想在外部软件中添加一些参数,只需将变量添加为字符串,这里是" ls -la"的一个例子,你可以添加" -la"在列表中,您可以添加任何内容 list的其他参数。记住参数都是字符串。

from subprocess import Popen, PIPE
proc = Popen(["ls", '-la'], stdout=PIPE) # if you want more, add after "-la"
print proc.stdout.readlines()

答案 1 :(得分:0)

将每个参数作为单独的列表项提供:

from subprocess import check_output

cmd = ["halSummarizeMutations", "--option", "optioninput", hal_output]
summary_mutation = check_output(cmd)

其中hal_output是前面定义的字符串变量。

相关问题