【发布时间】:2012-09-05 06:51:43
【问题描述】:
我知道 Stack Overflow 上有一些关于此的主题。但这些对我来说都没有任何意义。我对 python 和 perl 都很陌生,并尽力理解。我想从一段 python 代码运行一个 perl 脚本。
在命令提示符下执行 perl 脚本如下:
perl perlscript.pl input.bopt7 output.xml
我想从我的 python 代码中运行这个命令。 我尝试了以下方法:
pipe = subprocess.Popen(["perlscript.pl" , "input.bopt7" , "output.xml"], stdout=subprocess.PIPE)
但这不起作用。我收到一条错误消息,说它不是有效的 win32 ...
我不需要此脚本的输入或输出。只需要运行一次。
【问题讨论】:
-
您在 Windows 中安装了 PERL 吗?
-
我可以从 windows 命令提示符运行 perl 脚本,所以我猜 perl 已经安装了。
-
您在命令提示符中运行的命令与您在
Popen中运行的命令不同——前者运行perl并将脚本作为参数传递,后者尝试执行脚本本身。你试过Popen(["perl", "perlscript.pl", "input.bopt7", "output.xml"], ...)吗?