如何将命令行参数传递给从Python执行的Perl脚本

时间:2011-11-30 09:54:26

标签: python

我已编写此代码以从我的Python脚本运行Perl脚本:

#!/usr/bin/python

import subprocess

var = "/some/file/path/"
pipe = subprocess.Popen(["perl", "./SignalPktSender.pl ", var], stdin=subprocess.PIPE)

但是我的perl脚本需要命令行参数。从Python脚本运行时,如何将命令参数传递给Perl脚本?

1 个答案:

答案 0 :(得分:1)

来自the Python docs on the subprocess module

  

class subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)

     

参数是:

     

args应该是一个字符串或一系列程序参数。要执行的程序通常是args序列中的第一项,如果给出了字符串,则是字符串,但可以使用可执行参数显式设置。

到目前为止您的代码是:

pipe = subprocess.Popen(["perl", "./SignalPktSender.pl ", var], stdin=subprocess.PIPE)

在您发送的参数的开头有一个列表,看起来您已经传递了命令行参数(var) - 只需将其他命令行参数添加到列表中var