我正在编写一个有 5 个线程的脚本,我想为所有线程共享/重定向标准输出,以正确获取所有打印件。 我已尝试使用以下代码,但它不起作用,有人可以帮忙吗?
class Logwriter():
def __init__(self):
self.terminal = sys.stdout
def write(self,message):
lock = threading.Lock()
lock.acquire()
self.terminal.write(message)
lock.release()
sys.stdout=Logwriter()
最佳答案
您还可以使用 python logging 而不是重定向 stdout(不会提供 stderr 的重定向)。模块。
然后你可以用 logging.info("message") 替换你的打印语句。
日志模块提供了很多可能性,比如打印哪个线程发布了一条消息等。
关于python - 如何共享多线程 python 脚本的标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31137458/