如何将数组作为参数发送?

时间:2012-07-23 07:36:08

标签: python

我想使用子进程来打开一个应用程序。但是参数的数量并不固定。什么是解决这个问题的最佳方法?

subprocess.call( "path/to/app", arg[0], arg[1], arg... )

最小arg []是1,但它可以变得大到10或20.在这种情况下,将它们发送到aubprocess的参数的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

您可能想要

subprocess.call(["path/to/app"] + arg)

答案 1 :(得分:1)

只有一个参数,它是一个列表:

>>> subprocess.call(["ls", "-l"])
0

直接从http://docs.python.org/library/subprocess.html#subprocess.call

的示例中获取

你应该做subprocess.call(["path/to/app", arg[0], arg[1], arg... ]),例如:

subprocess.call(["path/to/app"]+arg)