python:为Popen命令传递多个参数

2024-06-25 06:09:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我花了好几个小时试图找出如何将多个参数传递给python脚本,该脚本应该由子流程.Popen没有运气。在

脚本:

command = ['/usr/bin/python', '/tmp/script.py mcl=NULL mtp=data mnm=DS4INST \
          mno=NULL mse=NULL mce=cll01'] 

result = subprocess.Popen(command, stdout = subprocess.PIPE, \
         stderr = subprocess.PIPE)

out, err = result.communicate()

print out, err 

我收到以下错误消息:

^{pr2}$

但是,当我直接从shell执行脚本时

/usr/bin/python /tmp/script.py mcl=NULL mtp=data mnm=DS4INST mno=NULL \
mse=NULL mce=cll01

我收到所需的输出,但没有生成错误消息。在

请告知。在


Tags: py脚本databinusrscriptnulltmp
1条回答
网友
1楼 · 发布于 2024-06-25 06:09:17

试试这个:

command = ['/usr/bin/python', '/tmp/script.py', 'mcl=NULL', 'mtp=data', 'mnm=DS4INST', 'mno=NULL' 'mse=NULL', 'mce=cll01'] 

在您的代码中,command的第二个元素被视为一个单独的参数,并解释为:

^{pr2}$

就像一个有空格的长文件名。在

必须将参数拆分为command列表中的单独元素。在

相关问题 更多 >