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


    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 给我指向了 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'

  • 相关阅读:
    CSS盒子模型
    getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
    MYSQL中的CASE WHEN END AS
    单点登录的精华总结
    git&github
    June 21st 2017 Week 25th Wednesday
    June 20th 2017 Week 25th Tuesday
    June 19th 2017 Week 25th Monday
    June 18th 2017 Week 25th Sunday
    June 17th 2017 Week 24th Saturday
  • 原文地址:https://www.cnblogs.com/mmdln/p/9394460.html
Copyright © 2020-2023  润新知