gpt4 book ai didi

Python子进程是否产生输出

转载 作者:太空宇宙 更新时间:2023-11-04 06:38:57 25 4
gpt4 key购买 nike

这个问题是关于:

python, subprocess: reading output from subprocess

如果 P 是一个子进程,按照以下命令启动

import subprocess

P = subprocess.Popen ("command", stdout=subprocess.PIPE)

我们可以读取 P 由 P.stdout.readline () 产生的输出。虽然这是一个阻塞读取。如何检查是否有输出可供读取(无阻塞)?

最佳答案

如果您使用的是 *nix,那么您可以使用 select轮询标准输出文件描述符的模块

import subprocess
import select
poller = select.epoll()

P = subprocess.Popen ("command", stdout=subprocess.PIPE)
poller.register(P.stdout, select.EPOLLHUP)

while True:
#block indefinitely: timeout = -1
#return immediately: timeout = 0
for fd, flags in poller.poll(timeout=0)
foo = P.stdout.readline()
#do something else before the next poll

关于Python子进程是否产生输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4189551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com