学习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。知道我在这里做错了吗?
答案 0 :(得分:2)
您需要单独传递ls
,-l
。
...
command = ['ls', '-l']
dibner = 'scum.py'
commands = comamnd + [dibner]
...
否则,ls -l
而不是ls
被解释为命令。