如何用Python调用系统命令呢?经常使用方法!

  移动互联网技术的快速发展,为各大行业都提供了发展机遇,在市场的影响之下,Python语言变得更加火爆,渗透到各大领域,如今不少开发工做都会使用到Python,不过进行Python开发搭建框架的时候,每每须要命令进行操做,那么你知道如何用Python调用系统命令吗?小编为你们介绍一下。python

  1. os.system()python3.x

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

  >>> import os函数

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

  processor : 0spa

  vendor_id : AuthenticAMDunix

  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

  ... ...

  >>>

相关文章
相关标签/搜索