我已编写此代码以从我的Python脚本运行Perl脚本:
#!/usr/bin/python
import subprocess
var = "/some/file/path/"
pipe = subprocess.Popen(["perl", "./SignalPktSender.pl ", var], stdin=subprocess.PIPE)
但是我的perl脚本需要命令行参数。从Python脚本运行时,如何将命令参数传递给Perl脚本?
答案 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
。