python执行系统命令的四种方式

Posted EagleSour

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python执行系统命令的四种方式相关的知识,希望对你有一定的参考价值。

一、os模块

1. os.system(‘cmd‘)

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

import os
os.system(date)
# 2016年 06月 30日 星期四 19:26:21 CST
OS.system

 2. os.popen(cmd)

技术分享图片
不仅执行命令而且返回执行后的信息对象(常用于需要获取执行命令后的返回信息)
,读取结果是使用read方法,是阻塞模式,一旦读取到结果再次读取的时候返回内容为空。
import os
nowtime = os.popen(date)
print nowtime.read()
# 2016年 06月 30日 星期四 19:26:21 CST
os.popen

二、commands模块

技术分享图片
方法    说明
getoutput    获取执行命令后的返回信息
getstatus    获取执行命令的状态值(执行命令成功返回数值0,否则返回非0)
getstatusoutput    获取执行命令的状态值以及返回信息

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

三、subprocess模块

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

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
subprocess

 

以上是关于python执行系统命令的四种方式的主要内容,如果未能解决你的问题,请参考以下文章

Python调用系统命令的四种方法

java -jar后台启动的四种方式

实现斐波拉契数列的四种方式python代码

连载redis库存操作,分布式锁的四种实现方式[三]--基于Redis watch机制实现分布式锁

CMDB实现的四种方式

Linunx 系统挂载新硬盘的四种方式