目录

前期准备:

方法一: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'))

运行结果: