2011-11-30 26 views
0

執行一個Perl腳本,我寫了這個代碼從我的Python腳本運行Perl腳本:如何通過命令行參數從Python的

#!/usr/bin/python 

import subprocess 

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

但我的perl腳本需要命令行參數。當我的Python腳本運行時,如何將命令參數傳遞給Perl腳本?

+0

完全是你現在做的方式... – glglgl

回答

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之後將其他命令行參數添加到列表中。