我爱编程

三、python与操作系统交互

2018-05-20  本文已影响0人  zhile_doing
  1. 使用os模块中的函数
    os模块包含了许多与操作系统交互的接口,其中文件处理部分不再赘述,今天看一下其余方法。
    • 使用uname()获取系统信息


    • 使用getuid()/getgid()获取用户id或用户组id


    • 使用login()获得当前登陆用户


    • 使用system()执行系统命令


    • 使用popen()执行命令并获取输出或写入数据
      popen帮助如下



      使用popen时,由于指定r或w,所以通信是单向的


  2. 使用subprocess模块
    • subprocess中的便利函数
      • 使用call运行外部命令

        call(args, *, stdin,stdout,stderr,shell=False)
        args为命令组成的列表,shell为True时使用shell运行给出的命令,函数返回命令结果状态码,可以使用状态码判断命令是否执行成功

        如果shell为True,可以使用一个字符串来执行命令,可以不用一个字符串列表
    • check_call()此函数与call函数相似,但命令执行失败时返回CalledProcessError异常



    • check_output()获取命令输出,返回类型为str


    • Popen类
      当便利函数无法满足需求时,我们可以选择使用subprocess中的Popen类



      使用方式与便利函数类似,shell设置为True时,默认shell为/bin/sh,执行的命令可以是字符串,也可以是字符串列表。Popen也提供了一些函数用来控制程序的执行



      使用函数包装Popen

      运行
上一篇下一篇

猜你喜欢

热点阅读