使用参数从Python调用Perl脚本

时间:2018-04-12 20:55:13

标签: perl subprocess python-2.6

我正在研究Python 2.6.6。我查看了各种示例,但我无法使用参数调用Python中的perl脚本。 Perl需要几个参数并显示它。我是Perl和Python的新手,可能会遗漏一些基本的东西。我可以调用perl脚本而不给出任何参数但是一旦我尝试给出任何参数,它就不会调用perl脚本

Python:test.py

 import subprocess
 import shlex
 p=subprocess.Popen(['perl','start.pl','1','2'],stdout=subprocess.PIPE)

Perl:start.pl

use strict;
print "Called::\n";
my $name="$ARGV[0]";
print "$name\n";
my $next_name=$ARGV[1];
print "$next_name\n"

我不确定perl是如何从python中获取参数的。有人可以告诉我哪里出错了

1 个答案:

答案 0 :(得分:2)

还有一步:

print(p.stdout.read())

Perl进程的输出存储在对象p.stdout中,而不是写入控制台。