Python:运行外部命令时传递参数

时间:2013-10-07 09:28:13

标签: python command-line-arguments

我正在调用这样的外部程序

call(["./myProgram", myArgs])

如何传递参数列表? myProgram有3个这样的参数

myProgram param1 param2 param3

单独指定参数如下工作

call(["./myProgram", param1 ,param2, param3])

,但我如何使用参数列表/数组,如

myArgs=[param1,param2,param3]

我收到了这个

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception TypeError: execv() arg 2 must contain only strings

1 个答案:

答案 0 :(得分:3)

只是连接列表:

call(['./myProgram'] + myArgs)

第一个参数必须是字符串列表;只需 build 从两个单独的列表中列出。