目录
前期准备:
.sh文件
方法一:os模块的system()方法
Python自带的执行Shell脚本的方法,不返回执行的结果,最后返回一个0,代表执行成功。
import os
#方法一:os模块的system()方法
#执行单个Shell命令
print(os.system('echo Hello world 1'))
#执行Shell脚本
print(os.system('scripts/test.sh'))
运行结果:
方法二:os模块的popen()方法
Python自带的执行Shell脚本的方法,返回执行的结果,返回的是一个文件对象,可以通过read()方法读取结果。
import os
#方法二:os模块的popen()方法
#执行单个Shell命令
f = os.popen('echo Hello world 1')
print(f.read())
#执行Shell脚本
f2 = os.popen('scripts/test.sh')
print(f2.read())
运行结果:
方法三:subprocess模块的call()方法
Python自带的执行Shell脚本的方法,不返回执行的结果,最后返回一个0,代表执行成功。
import subprocess
#方法三:subprocess模块的call()方法
#执行单个Shell命令
print(subprocess.call('echo Hello world 1', shell=True))
#执行Shell脚本
print(subprocess.call('scripts/test.sh', shell=True))
运行结果:
注:subprocess模块通过子进程来执行外部指令,并通过input/output/error管道,获取子进程的执行的返回信息。
方法四:sh库
Python的一个第三方库,可以直接执行Shell命令和脚本
import sh
#方法四:sh库
#执行单个Shell命令
print(sh.echo('Hello world 1'))
#执行Shell脚本
print(sh.sh('scripts/test.sh'))
运行结果: