python执行系统命令四种方法

一、os模块

1、os.system(cmd)

在子终端运行系统命令,不能获取命令执行后的返回信息以及执行返回的状态

1
2
3
4
import os
os.system('date')

# 2016年 06月 30日 星期四 19:26:21 CST

2、os.popen(cmd)

不仅执行命令而且返回执行后的信息对象(常用于需要获取执行命令后的返回信息)

1
2
3
4
5
import os
nowtime = os.popen('date')
print nowtime.read()

# 2016年 06月 30日 星期四 19:26:21 CST

3、commands模块

getoutput 获取执行命令后的返回信息
getstatus 获取执行命令的状态值(执行命令成功返回数值0,否则返回非0)
getstatusoutput获取执行命令的状态值以及返回信息

1
2
3
4
import commonds
status, output = commands.getstatusoutput('date')
print status # 0
print output # 2016年 06月 30日 星期四 19:26:21 CST

四、subprocess模块

运用对线程的控制和监控,将返回的结果赋于一变量,便于程序的处理。官方文档:http://python.usyiyi.cn/python_278/library/subprocess.html

1
2
3
4
import subprocess
nowtime = subprocess.Popen('date', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
print nowtime.stdout.read()
# 2016年 06月 30日 星期四 19:26:21 CST