如何在Python代码中调用Shell脚本?
如何在Python代码中调用一个shell脚本?
14 个回答
58
如果你想给你的 shell 脚本传递一些参数,可以使用 shlex.split() 这个方法:
import subprocess
import shlex
subprocess.call(shlex.split('./test.sh param1 param2'))
假设有一个 test.sh
文件在同一个文件夹里:
#!/bin/sh
echo $1
echo $2
exit 0
输出结果:
$ python test.py
param1
param2
138
372
subprocess模块可以帮你解决这个问题。
这里有个非常简单的例子:
>>> import subprocess
>>> subprocess.call(['sh', './test.sh']) # Thanks @Jim Dennis for suggesting the []
0
>>>
其中,test.sh
是一个简单的脚本,而0
是这次运行的返回值。