需求:python脚本中执行shell命令
环境:centos7
方法一:利用os.system()
import os
#shell 命令
cmd='cat a.log'
#python中执行shell命令
result=os.system(cmd)
print(result) #结果为0和1,0标识cmd执行成功
方法二:利用os.popen()
import os
#shell 命令
cmd='cat a.log'
#python中执行shell命令
result=os.popen(cmd)
print(result.read())#结果返回a.log的内容
通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。但是无法读取程序执行的返回值。
方法三:利用commands.getstatusoutput()
此方法就可以获得到返回值和输出
import commands
#shell 命令
cmd='cat a.log'
#python中执行shell命令
(status,output)=commands.getstatusoutput(cmd)
print(status,output)#结果返回执行结果状态和a.log的内容