如何将参数传递给subprocess.call
我正在学习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 个回答
2
你需要把 ls
和 -l
分开写。
...
command = ['ls', '-l']
dibner = 'scum.py'
commands = comamnd + [dibner]
...
否则,系统会把 ls -l
当作一个整体命令来理解,而不是把它分开。