zoukankan      html  css  js  c++  java
  • subprocess in python3.5

    subprocess 

    该子模块允许你创建新的流程,连接到它们的输入/输出/错误管道,并获取他们的返回值。该模块打算替换多个旧的模块和功能:os.system   和  os.spawn *
    使用subprocess时建议使用run()函数去处理所有它可以处理的情况,因为高级用法可以直接使用底层POPEN接口
    run()函数是Python 3.5中新添加的。
    使用方法:
    subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, shell=False, timeout=None, check=False)
    args    该参数用于启动进程。这可能是一个列表或一个字符串。

    returncode   该参数表示子进程的退出状态。
    通常情况下,0作为退出状态表明它成功运行。
    负值-N表明子进程被信号N终止(仅POSIX)。

    stdout  该参数表示标准输出
    从子过程中捕获标准输出。一个字节序列,或字符串 ()如果运行一个字符串被称为与universal_newlines = TRUE。无如果stdout没有抓获。

            如果您运行进程与标准错误= subprocess.STDOUT,输出和错误将在此属性相结合,和stderr将是无。

        标准错误

            从子过程中捕获标准错误。一个字节序列,或()如果运行一个字符串被称为与universal_newlines = TRUE。无标准错误,如果没有抓获。

        check_returncode()

            如果返回码不为零,养CalledProcessError。


    先看个例子:
    >>> import subprocess
    >>> subprocess.run(["ls"])
    run_server.py    # ls命令返回的结果
    CompletedProcess(args=['ls'], returncode=0)  # run函数返回的结果
    >>> subprocess.run(["ls", "-l"])  # 这个和上面的类似
    总用量 4
    -rw-r--r-- 1 root root 266 9月  22 14:35 run_server.py
    CompletedProcess(args=['ls', '-l'], returncode=0)

    >>> subprocess.run(["ls"],stdout=subprocess.PIPE)  # 加上stdout参数之后,系统命令返回的结果就不会输出了
    CompletedProcess(args=['ls'], returncode=0, stdout=b'run_server.py ')

    >>> a = subprocess.run(["ls"],stdout=subprocess.PIPE)  
    >>> print(a)
    CompletedProcess(args=['ls'], returncode=0, stdout=b'run_server.py ')
    >>> print(a.stdout,a.args,a.returncode)  # 可以对返回值进行操作
    b'run_server.py ' ['ls'] 0






  • 相关阅读:
    SuperSocket中的Server是如何初Start的
    SuperSocket中的Server是如何初Initialize的
    Explicit Interface Implementation (C# Programming Guide)
    Interfaces (C# Programming Guide)
    Java泛型Restletclient
    jQuery 完成ajax传jsonObject数据,并在后台处理
    SDUT 2933-人活着系列Streetlights(最小生成树Kruskal+和理查德设置来实现)
    华为OJ:查找字符的第一个字符串只出现一次
    Linux查找多个类似,但不同的名称和重命名文件
    【Java收集的源代码分析】Hashtable源代码分析
  • 原文地址:https://www.cnblogs.com/wumingxiaoyao/p/7047862.html
Copyright © 2011-2022 走看看