argument_list = ['name=Jon', 'id=100' ]
output = subprocess.check_output(
['/usr/bin/python', 'test.py', argument_list ], stderr=subprocess.STDOUT)
简单来说,我试图使用名为test.py的子进程调用脚本;我想通过列表将参数传递给test.py. Importatnt - 列表可以是任何大小。
我尝试的事情,
output = subprocess.check_output(
['/usr/bin/python', 'test.py', ", ".join(argument_list) ], stderr=subprocess.STDOUT)
和
output = subprocess.check_output(
['/usr/bin/python', 'test.py', '%s' % argument_list ], stderr=subprocess.STDOUT)
两者都不起作用,因为在subprocess.checkoutput中应该是('','','')等......
有更好的方法吗?
答案 0 :(得分:3)
您可以通过将列表添加到一起来创建新列表:
output = subprocess.check_output(['/usr/bin/python', 'test.py'] + argument_list, stderr=subprocess.STDOUT)
这将使用test.py
作为命令行参数运行argument_list
。