【发布时间】:2016-02-13 09:53:59
【问题描述】:
我需要从 python 调用 perl 脚本。我正在使用 subprocess.call()。在命令行中 perl 程序工作正常。还有
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 中工作)。
请帮忙。我被困住了,无法继续我的工作。任何帮助表示赞赏。 谢谢!
【问题讨论】:
-
如果在 cmd 中运行,
echo %errorlevel%是什么? -
不相关:您可以使用
r'D:\pgm.pl'代替'D:/pgm.pl'。 -
仍然无法正常工作。给出返回码 22。
-
您说:“它在 cmd 中工作”。 cmd中的errorlevel是多少?
-
已尝试回显 %errorlevel%- 返回退出代码 0
标签: python perl subprocess