如何在 python 中读取外部程序的输出 运行

how do I read the output of an external program while it is running in python

我正在尝试制作一个控制 minecraft 服务器的机器人,我已经成功启动并向服务器发送命令,但是当它处于 [=17] 时我无法获得服务器的输出=] 我现在所拥有的只会在服务器终止后将输出发送给我,就像日志一样。

process = subprocess.Popen(executable,stdin=PIPE,stdout=PIPE, text=True)
out, err = process.communicate()
print(out)
print(err)

我希望能够使用该服务器信息来创建控制台

通过查看您的项目,我认为您的意思是获得 console/logs? 无论如何,如果你有疑问。

答案在这里

while True:
    with open("XXXX\logs\latest.log","r") as f:
        console = f.read()
        await ctx.send(console)

让我知道这是否会给您带来错误或您还有其他疑问!