如何将参数传递给subprocess.call

时间:2014-07-20 16:27:12

标签: python subprocess

学习python来替换这里的bash,我试图生成一个参数并将其传递给subprocess.call。尝试了几种方法,但它似乎只运行第一部分。 举个例子:

#!/usr/bin/python
import subprocess
command='ls -l'
dibner='scum.py'
commands=[command, dibner]
subprocess.call(commands,shell=True)
逻辑上我认为这会调用ls -l scum.py,但它似乎只是调用ls -l。知道我在这里做错了吗?

1 个答案:

答案 0 :(得分:2)

您需要单独传递ls-l

...
command = ['ls', '-l']
dibner = 'scum.py'
commands = comamnd + [dibner]
...

否则,ls -l而不是ls被解释为命令。