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创建一个新进程。

      

      

  • 相关阅读:
    React开发入门
    API爬虫--Twitter实战
    网页爬虫--scrapy入门
    爬虫入门(实用向)
    随谈10年的技术生涯和技术成长
    html元素的显示和隐藏
    Ubuntu下用cue文件对ape和wav文件自动分轨
    Bash内置命令exec和重定向
    Bash提示符
    Bash启动选项
  • 原文地址:https://www.cnblogs.com/hester/p/4807686.html
Copyright © 2011-2022 走看看