目录
前期准备:
方法一:os模块的system()方法
方法二:os模块的popen()方法
方法三:subprocess模块的call()方法
方法四:sh库
前期准备:
.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'))
运行结果: