2024-09-27 20:17:14 发布
网友
我通过一个Unix可执行文件来维护Perforce服务器,每当终端出现问题时,它就会记录终端中的错误。我想做的是使用Python来启动可执行文件,然后让它监视正在执行的应用程序在终端窗口中记录的任何错误。你知道吗
下面的代码适用于执行,但我不知道如何在子进程通过某种形式的回调记录到终端时从中获取数据。你知道吗
import subprocess subprocess.call(["./p4d"])
我通常是这样做的
from subprocess import Popen, PIPE proc = Popen(["./p4d"], stdout=PIPE, stderr=PIPE) out, err = pipe.communicate()
你知道吗管道.通讯()将挂起,直到进程完成,然后返回stdout和stderr
process.stdout和process.stdout是可以从中读取的类似文件的对象。假设事情被记录到stdout:
process.stdout
proc = Popen(['./p4d'], stdout=PIPE, encoding='utf-8') # Or whatever encoding suits for line in proc.stdout: # Note that line will end in `\n`, unless it is the last line. line = line.rstrip('\n') # Do something depending on the line
我通常是这样做的
你知道吗管道.通讯()将挂起,直到进程完成,然后返回stdout和stderr
process.stdout
和process.stdout
是可以从中读取的类似文件的对象。假设事情被记录到stdout:相关问题 更多 >
编程相关推荐