zoukankan      html  css  js  c++  java
  • subprocess模块

    subprocess模块是python从2.4版本开始引入的模块,主要用来取代一些旧的模块,如os.system,

      os.spawn,os.popen等。

    subprocess是通过子进程来执行外部命令的,并且可以自己制定stdin,stdout,stderr等管道。

    内部支持的方法:

    1) call(),只是用来执行一个外部命令,启动的子进程,输入输出自动绑定到父进程的输入和输出(标准输入输出)

      内部的命令,可以是字符串,也可以是list

      a = subprocess.call('pwd')

      a = subprocess.call(['pwd'])

    2) check_call(),与call类似,只是返回值是非0时,会直接抛出异常。0-表示正常执行命令。

      check_output(),类似,但是出现错误时,可以通过try,,,,exception,来避免传递到控制台。

        可以捕获错误到exception中。

    3) 指定管道的执行命令,Popen()函数,参数有:

        args,shell命令,可以是字符串,也可以是list

        bufsize,可以不用关心,主要来指定缓冲区的大小

        stdin,stdout,stderr,指定程序的标准输入,输出,错误输出

        cwd,设置子进程的当前目录

        env,指定子进程的环境变量,默认继承父进程的环境变量。

      a = subprocess.Popen(['mkdir', './hym'], cwd=‘/root’)

      file_handle = open('file', w)    a = subprocess.Popen('ls -l', stdout=filehandle)    指定file_handle

      a  = subprocess.Popen('cat ./file',stdout=subprocess.PIPE)    指定stdout到a对象

    Popen返回的是一个对象,内部实现了commucation(),函数,可以从中拿到,用subprocess.PIPE指定的数据。

    该对象内部的属性,有pid和returncode(0表示已经完成,none表示未完成)

  • 相关阅读:
    性能测试方案和用例模板
    软件质量报告模板-产品质量度量
    性能测试报告模板
    SQL查询语法30例
    性能测试:Jmeter-Beanshell请求加密实例
    安全性测试:OWASP ZAP 2.8 使用指南(三):ZAP代理设置
    centos7下使用x11远程带窗口安装Oracle
    python Linux 环境 (版本隔离工具)
    Python多版本环境搭建(Linux系统)
    ArrayList1.8
  • 原文地址:https://www.cnblogs.com/-9-8/p/8269165.html
Copyright © 2011-2022 走看看