在子终端运行系统命令,可以获取命令执行后的返回信息以及执行返回的状态
执行后返回两行结果,第一行是结果,第二行是执行状态信息
import os
os.system("date")
# 2018年 4月 8日 星期日 19时29分13秒 CST
# 运行状态号,0表示正确
# 0
不仅执行命令而且返回执行后的信息对象(常用于需要获取执行命令后的返回信息),是通过一个管道文件将结果返回
import os
nowtime = os.popen("date")
print(nowtime.read())
# 2018年 4月 8日 星期日 19时30分35秒 CST
方法 | 说明 |
---|---|
getoutput | 获取执行命令后的返回信息 |
getstatus | 获取执行命令的状态值(执行命令成功返回数值0,否则返回非0) |
getstatusoutput | 获取执行命令的状态值以及返回信息 |
import commonds
status, output = commands.getstatusoutput("date")
print(status)
print(output)
# 0
# 2018年 4月 8日 星期日 19时31分45秒 CST
运用对线程的控制和监控,将返回的结果赋于一变量,便于程序的处理。
有丰富的参数可以进行配置,可供我们自定义的选项多,灵活性高。
import subprocess
nowtime = subprocess.Popen(
"date", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT
)
print(nowtime.stdout.read())
# 2018年 4月 8日 星期日 19时32分41秒 CST