Python 子进程在运行时读取标准输出

文章目录

    • Python 子进程在运行时读取标准输出
    • 方法 1:在 Python 中运行时使用 check_call 读取子进程的标准输出
    • 方法 2:在 Python 中运行时轮询进程以读取子进程的标准输出


本文的主要目的是演示如何读取在 Python 中执行的子进程的标准输出。


Python 子进程在运行时读取标准输出

与许多其他内置模块一样,Subprocess 也是一个内置模块,预装了“正常”Python 安装。

它主要用于在新进程中运行任务、进程和程序,执行一组特定任务并返回结果时。

它被广泛使用的众多原因之一是它允许作为一个单独的进程直接从程序中执行外部程序和可执行文件。

使用 Subprocess 库执行程序时,可能需要实时显示该外部程序的输出。 出于多种原因,这可能是一项要求,例如当程序可能是实时的并且依赖于短时间后的计算时。

考虑以下程序:

import subprocess

def execute(command):
    process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    output = process.communicate()[0]
    exitCode = process.returncode

    if (exitCode == 0):
        return output
    else:
        raise Exception(command, exitCode, output)

if __name__ ==

你可能感兴趣的:(Python,编程,python,elasticsearch,开发语言)