猿问

从python中的多个线程捕获打印输出

我有一个内部启动并行运行的多个线程的函数。线程会打印一些东西,我想从外部函数捕获此输出。我尝试了下一个代码来捕获输出:


import sys, io

stdout = sys.stdout

sys.stdout = io.StringIO()

threads_conn(connect, devices) #- here many threads starts with many print inside

output = sys.stdout.getvalue()

sys.stdout = stdout


print(output)

此代码有效。但是问题在于仅在所有广告完成后才输出输出。所以我冻结了。完成所有线程后,将输出整个输出。我想要的-在内部生成后立即输出-换句话说,是实时的。现在,我可以一次打印出整个缓冲区。 如何获得所有线程的实时输出?


慕娘9325324
浏览 261回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答