pythonpopen参数_python:为Popen命令传递多个参数我花了⼏个⼩时试图弄清楚如何将多个参数传递给python脚本,该脚本应该由subprocess.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 = resultmunicate()
print out, err
大马士革钢
python: can't open file '/tmp/script.py mcl=NULL mtp=data mnm=DS4INST mno=NULL \
mse=NULL mce=cll01': [Errno 2] No such file or directory
但是,当我直接从shell执⾏脚本时
/usr/bin/python /tmp/script.py mcl=NULL mtp=data mnm=DS4INST mno=NULL \
羊城电子mse=NULL mce=cll01
我收到所需的输出并且未⽣成错误消息.
请指教.
解决⽅法:
试试这个:
command = ['/usr/bin/python', '/tmp/script.py', 'mcl=NULL', 'mtp=data', 'mnm=DS4INST', 'mno=NULL' 'mse=NULL',
'mce=cll01']
在您的代码中,命令的第⼆个元素被视为⼀个单独的参数,并解释为:
/
usr/bin/python "/tmp/script.py mcl=NULL mtp=data mnm=DS4INST mno=NULL mse=NULL mce=cll01"
期刊数据库所以就像⼀个带空格的长⽂件名.
拉萨尔标签:python,parameter-passing,popen
>郑盈盈