Python 2.7:打印线程安全

时间:2011-10-24 15:14:41

标签: python thread-safety

我见过类似的帖子here但是它引用了Python 2.6,我希望有一种更简单的方法。

从阅读主题看,最好的方法是用sys.stdout.write(s +'\ n')替换所有的print语句?

我希望有一种更好的方式让我仍然可以使用print

2 个答案:

答案 0 :(得分:13)

from __future__ import print_function
print = lambda x: sys.stdout.write("%s\n" % x)

这是一个不错的廉价和肮脏的黑客。

答案 1 :(得分:0)

我发现以下适用于多线程和多进程环境,非常简单:

def sprint(content):
    print("{0}~{1}\r".format(str(datetime.datetime.now()), content))