os.system("...") #输出结果到屏幕,返回命令的执行状态
os.popen("dir").read() #会保存命令的执行输出
subprocess
subprocess.run("df -h|grep sda1", shell=True) #shell=True 表示不需要python解析,直接将这个字符串传到系统去解析
注意:run方法在python3.5才有
常用的subprocess方法
import subprocess
#执行命令,返回命令的执行状态,0 or 非0
statu = subprocess.call("ls -l", shell=True)
#执行命令,如果命令结果为0,就正常返回,否则抛出异常
subprocess.check_call("ls -l" , shell=True)
#执行字符串命令,并返回结果
subprocess.getoutput("ls -l") #此处不需要shell=True
#执行命令,如果命令执行成功,就返回结果(byte类型),否则抛出异常
subprocess.check_output("ls -l", shell=True)
#执行命令,返回元组形式,第1个元素是执行状态,第2个元素是命令结果
statu,res = subprocess.getstatusoutput("ls -l")
print(statu,res)
网友评论