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

    可以执行shell命令的相关模块和函数有:os.system  os.spawn  os.popen等

    call方法:执行命令,返回状态码。shell = True意思是允许shell命令是字符串形式。

    check_call方法:执行命令,如果执行状态是0,则返回0,否则抛出异常。

    check_output方法:执行命令,如果状态码是0, 则返回执行结果,否则抛出异常

    Popen方法:用于执行负责的系统命令

    参数:

      args:shell命令,可以是字符串或序列类型

      bufsize:指定缓冲。0无缓冲,1行缓冲,其他缓冲区大小,负值 系统缓冲。

      stdin  stdout  stderr:分别表示程序的标准输入、标准输出、错误句柄

      preexec_fn: 只在Unix平台下有效,用于指定一个执行对象(callable object),它将在子进程运行之前被调用。

      close_sfs:在windows平台下,如果close_fds被设置为True,则新创建的子进程将不会继承父进程的输入、输出、错误管道。

      cwd:用于设置子进程的当前目录。

      env:用于指定子进程环境变量。如果env=None,子进程的环境变量将从父进程中继承。

      universal_newlines: 不同系统换行符不同, True表示同意使用

      startupinfo与createionflags只在windows下有效。将被传递给底层的CreateProcess()函数,用于设置子进程的一些属性,如:主窗口的外观,进程的优先级等

    import subprocess
    
    while True:
        cmd = input('>>:')
        p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        out, err = p.stdout.read(), p.stderr.read()
        res = out if out else err
        print(res.decode('gbk'))

    等多:http://blog.csdn.net/g457499940/article/details/17068277

  • 相关阅读:
    如何避免重复的开发
    用BPM解决企业信息化的数据孤岛
    撸代码之前我们应该想些什么
    从开发的角度去分解项目需求
    MQTT 无法连接问题排查
    Linux下的OpenSSH,你知道多少?
    Linux下Rsyslog日志远程集中式管理
    如何在Linux下部署Samba服务?
    Linux环境下安装配置vsftpd服务(三种认证模式)
    Linux集群环境下NTP服务器时间同步
  • 原文地址:https://www.cnblogs.com/caibao666/p/6694618.html
Copyright © 2011-2022 走看看