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

  Python是一款操作简单的编程语言,内置丰富的库,能够很容易的实现强大的功能,在使用Python进行框架搭建时,往往需要用到Python执行系统命令,一些开发人员对此不熟悉,以下是具体的操作方法:

  1. os.system()

  这个方法直接调用标准C的system()函数,仅仅在一个子终端运行系统命令,而不能获取执行返回的信息。

  >>> import os

  >>> output = os.system('cat  /proc/cpuinfo')

  processor : 0

  vendor_id : AuthenticAMD

  cpu family : 21

  ... ...

  >>> output # doesn't capture output

  0

  2. os.popen()

  这个方法执行命令并返回执行后的信息对象,是通过一个管道文件将结果返回。

  >>> output = os.popen('cat /proc/cpuinfo')

  >>> output

  

  >>> print output.read()

  processor : 0

  vendor_id : AuthenticAMD

  cpu family : 21

  ... ...

  >>>

  3. commands模块

  >>> import commands

  >>> (status, output) = commands.getstatusoutput('cat  /proc/cpuinfo')

  >>> print output

  processor : 0

  vendor_id : AuthenticAMD

  cpu family : 21

  ... ...

  >>> print status

  0

  注意1:在类unix的系统下使用此方法返回的返回值(status)与脚本或命令执行之后的返回值不等,这是因为调用了os.wait()的缘故,具体原因就得去了解下系统wait()的实现了。需要正确的返回值(status),只需要对返回值进行右移8位操作就可以了。

  注意2:当执行命令的参数或者返回中包含了中文文字,那么建议使用subprocess。

  4. subprocess模块

  该模块是一个功能强大的子进程管理模块,是替换os.system, os.spawn*等方法的一个模块。

  >>> import subprocess

  >>> subprocess.Popen(["ls", "-l"]) #  python2.x doesn't capture output

  >>> subprocess.run(["ls", "-l"]) #  python3.x doesn't capture output

  

  >>> total 68

  drwxrwxr-x 3 xl xl 4096 Feb 8 05:00 com

  drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Desktop

  drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Documents

  drwxr-xr-x 2 xl xl 4096 Jan 21 07:44 Downloads

  ... ...

  >>>

  以上是列举的python执行系统命令的方法,如果需要这方面的操作,可以参考一下!

报名咨询电话:18515368555

老男孩官网咨询:http://www.oldboyedu.com/

老男孩总部地址:北京市昌平区顺沙路八号院汇德商厦4层

原文地址:http://blog.51cto.com/13543490/2096217

时间: 2024-10-11 22:41:56

使用Python执行系统命令方法有哪些?的相关文章

转 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 执行系统命令模块比较 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中执行系统命令常见方法有两种: 两者均需 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执行系统命令四种方法比较

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) 不仅执行命令而且返回执行后

Python执行脚本方法

Python中调用shell脚本,常用的函数有os.system.os.popen()和subprocess.Popen() os.system方法语法:os.system(cmd)os.system()执行过程中主要执行了:fork()出一子进程:子进程调用exec()执行命令.例1: >>> import os >>> os.system('dir D:\Python') 执行成功,返回0.例2: import os res = os.system('ping ww

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 执行系统命令---suprocess模块

1.suproess模块. 可以执行系统命令,windows命令或者linux名 都可以. os模块也可以执行系统命令.但是推荐使用suproess模块 2.具体用法: import subprocess # res=subprocess.Popen('dir D:\python_project',shell=True) #逗号前面是要执行的命令(列出指定目录下的所有文件),后面的shell=True是执行命令的意思. # print(res) #这样打印的是拿到一个内存值,并且把结果输出到屏幕

python执行系统命令后获取返回值

import os, subprocess # os.system('dir') #执行系统命令,没有获取返回值,windows下中文乱码 # result = os.popen('dir') #执行系统命令,返回值为result# res = result.read()# for line in res.splitlines():# print(line ) #用subprocess库获取返回值.# p = subprocess.Popen('dir', shell=True, stdout=