[转] Python执行系统命令的方法 os.system(),os.popen(),commands

最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类。

最开始的时候用 Python 学会了 os.system() 这个方法是很多比如 C,Perl 相似的。

os.system(‘cat /proc/cpuinfo‘)

但是这样是无法获得到输出和返回值的,继续 Google,之后学会了 os.popen()。

output = os.popen(‘cat /proc/cpuinfo‘)
print output.read()


过 os.popen() 返回的是 file read 的对象,对其进行读取 read()
的操作可以看到执行的输出。但是怎么读取程序执行的返回值呢,当然咯继续请教伟大的 Google(联想到像我这样的人工作如果离开了
Google,不是成了废物。。。Baidu 忽视)。Google 给我指向了 commands — Utilities for running commands
这样通过 commands.getstatusoutput() 一个方法就可以获得到返回值和输出,非常好用。

(status, output) = commands.getstatusoutput(‘cat /proc/cpuinfo‘)
print status, output

Python Document 中给的一个例子,很清楚的给出了各方法的返回。

>>> import commands
>>> commands.getstatusoutput(‘ls /bin/ls‘)
(0, ‘/bin/ls‘)
>>> commands.getstatusoutput(‘cat /bin/junk‘)
(256, ‘cat: /bin/junk: No such file or directory‘)
>>> commands.getstatusoutput(‘/bin/junk‘)
(256, ‘sh: /bin/junk: not found‘)
>>> commands.getoutput(‘ls /bin/ls‘)
‘/bin/ls‘
>>> commands.getstatus(‘/bin/ls‘)
‘-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls‘
时间: 2024-10-21 18:37:20

[转] Python执行系统命令的方法 os.system(),os.popen(),commands的相关文章

转 Python执行系统命令的方法

传送门 Python执行系统命令的方法 http://www.linux-field.com/?p=15 Python中执行系统命令常见方法有两种: 两者均需 import os (1) os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 system(command) -> exit_statusExecute the command (a string) in a subshell. # 如果再命令行下执行,结果直接打印出来 1 >>> os.

Python执行系统命令的方法

Python中执行系统命令常见方法有两种: 两者均需 import os (1) os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 system(command) -> exit_statusExecute the command (a string) in a subshell. # 如果再命令行下执行,结果直接打印出来 1 >>> os.system('ls') 2 04101419778.CHM   bash      document  

Python执行系统命令的方法 os.system(),os.popen(),commands

转载:http://blog.csdn.net/b_h_l/article/details/12654749 第一种:使用os.system() import osos.system('cat /etc/profile') 第二种:使用os.popen() import os output = os.popen('cat /proc/cpuinfo') print output.read() 通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以

使用Python执行系统命令方法有哪些?

Python是一款操作简单的编程语言,内置丰富的库,能够很容易的实现强大的功能,在使用Python进行框架搭建时,往往需要用到Python执行系统命令,一些开发人员对此不熟悉,以下是具体的操作方法: 1. os.system() 这个方法直接调用标准C的system()函数,仅仅在一个子终端运行系统命令,而不能获取执行返回的信息. >>> import os >>> output = os.system('cat  /proc/cpuinfo') processor :

python 执行系统命令模块比较

python 执行系统命令模块比较 1.os.system模块 仅仅在子终端运行命令,返回状态码,0为成功,其他为失败,但是不返回执行结果 如果再命令行下执行,结果直接打印出来 >>> os.system('ls') 04101419778.CHM bash document media py-django video 11.wmv books downloads Pictures python all-20061022 Desktop Examples project tools 2.

windows linux 使用python执行系统命令并将结果保存到变量

最近需要用到os.system 发现不能赋值到变量 后查有更新的模块,如下: os.system os.spawn* os.popen* popen2.* commands.* 重新使用content=os.popen('help').read() 就能获取到了 import pyodbcimport sysimport osimport commands #python conn sql server2008R2conn = pyodbc.connect( driver='{sql serve

提高python执行效率的方法

python上手很容易,但是在使用过程中,怎么才能使效率变高呢? 下面说一下提高python执行效率的方法,这里只是说一点,python在引入模块过程中提高效率的方法. 例如: 1.我们要使用os模块中的某个属性,那我们可以单独引入os中某个属性 from os import version 同样的我们也可以把引入的模块属性或者对象,直接赋给另外一个变量,使用as方法 from os import version as ver 这样使用方便 2.如果在一个函数中频繁的使用某个模块的属性,那我们可

python执行系统命令:os.system,os.popen,commands

写脚本的时候经常会直接执行系统命令. 一.最先使用的是os.system()命令. import os os.system("cat /etc/hosts") 但是吧,这个方法并不能取得输出和返回值的. 二.接着我就使用了os.popen()命令 import os output = os.popen("cat /etc/hosts") print output.read() 通过os.popen返回的是file read对象,因此要获取内容的话,直接可以outpu

【初学】python执行系统命令四种方法比较

Python中执行系统命令常见的几种方法有 注意:以下实例代码在Python3.5下运行通过. 一.os.system方法 os.system(cmd) 在子终端运行系统命令,可以获取命令执行后的返回信息以及执行返回的状态 import osos.system('date')2018年 4月 8日 星期日 19时29分13秒 CST0 #运行状态号,0表示正确执行后返回两行结果,第一行是结果, 第二行是执行状态信息 二.os.popen方法 os.popen(cmd) 不仅执行命令而且返回执行后