Python 2.7:线程安全的打印
我看到过一个类似的帖子,在这里,不过那个帖子是关于Python 2.6的,我希望能有更简单的方法。
从讨论中看,最好的办法似乎是把我所有的print语句都换成sys.stdout.write(s + '\n')?
我希望能有一个更好的方法,这样我还能继续使用print。
2 个回答
0
我发现下面的代码在多线程和多进程的环境中都能正常工作,真的很简单:
def sprint(content):
print("{0}~{1}\r".format(str(datetime.datetime.now()), content))
13
from __future__ import print_function
print = lambda x: sys.stdout.write("%s\n" % x)
这是一个简单又便宜的解决办法。