subprocess.call to perl程序不使用输入文件路径?

时间:2015-11-12 05:56:08

标签: python perl subprocess

我需要从python调用perl脚本。我正在使用subprocess.call()。在命令行中,perl progam工作正常。还

cmd = [ 'C:/Perl/bin/perl', 'D:/pgm.pl', '-h' ]
subprocess.call(cmd)

这给出了返回码0.我认为这意味着它工作正常。但是当我添加输入路径和其他参数时,即。

cmd = [ 'C:/Perl/bin/perl', 'D:/pgm.pl', '-m', 'mode', 'D:/input.txt', 'D:/out.xml' ]
subprocess.call(cmd)

我得到的返回码为22,但未获得输出。(*它在cmd中有效。)

请帮忙。我坚持这个,不能继续我的工作。任何帮助表示赞赏。 谢谢!

1 个答案:

答案 0 :(得分:0)

试试此代码

cmd = [ 'C:/Perl/bin/perl', 'D:/pgm.pl', '-m', 'mode', 'D:/input.txt', 'D:/out.xml' ]
subprocess.call(" ".join(cmd))