zoukankan      html  css  js  c++  java
  • Python执行系统命令的方法 os.system(),os.popen(),commands

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

    1.最开始的时候用 Python 学会了 os.system() 。这个方法是拥塞的。

    os.system('ping www.baidu.com')
    

    2.通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。这个方法是后台执行,不影响后续脚本运行。

    output = os.popen('ping www.baidu.com')
    print(output.read())

    执行结果:

    3.通过 commands.getstatusoutput() 一个方法就可以获得到返回值和输出,给一个官方文档的例子:

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

    之所以给官方文档例子,因为个人执行如下命令,发现无法运行。欢迎知道原因的网友给出解答。

    import commands
    (status, output) = commands.getstatusoutput('ping www.baidu.com')
    print status
    print output

    打印结果如下:

      

    commands还有另外两个命令

    commands.getoutput(cmd)
    

    忽略了status,返回output(output是字符串格式)

    commands.getstatus(file)
    

    与上面相反,不多说了

    关于commands的说明:

    3.1 python3.0之后移除此命令,使用subprocess代替。

    3.2 python3.x 使用subprocess创建一个新进程。

      

      

  • 相关阅读:
    746. 使用最小花费爬楼梯(动态规划题)
    91.解码方法(动态规划)
    198/213 打家劫舍(动态规划)
    5. 最长回文子串 (从今天开始刷动态规划50题)
    POJ 2142
    HDU 4686
    HDU 4767
    HDU 1757
    POJ 3613
    HDU 2157
  • 原文地址:https://www.cnblogs.com/hester/p/4807686.html
Copyright © 2011-2022 走看看