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

      

      

  • 相关阅读:
    Heartbeat实现热备
    rsync实现数据增量备份
    MySql重置密码
    media viewport
    Java操作Excel之JXL (填充EXCEL模板)转载
    字节流与字符流的区别详解
    GIT和SVN的区别
    oracle与DB2递归查询
    SQL中使用WITH AS提高性能 简化嵌套SQL(转载)
    CVS tag and branch(转)
  • 原文地址:https://www.cnblogs.com/hester/p/4807686.html
Copyright © 2011-2022 走看看