1

このような外部プログラムを呼び出しています

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
4

1 に答える 1

3

リストを連結するだけです:

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

最初の引数は文字列のリストでなければなりません。2 つの別々のリストからそのリストを作成するだけです。

于 2013-10-07T09:29:35.843 に答える