Python 2.7: безопасная печать - PullRequest
7 голосов
/ 24 октября 2011

Я видел похожий пост здесь однако он относится к Python 2.6, и я надеялся, что есть более простой способ.

Из прочтения ветки кажется, что лучше всего просто заменить все мои операторы печати на sys.stdout.write (s + '\ n')?

Я надеялся, чтохороший способ, который позволил мне все еще использовать печать

Ответы [ 2 ]

13 голосов
/ 24 октября 2011
from __future__ import print_function
print = lambda x: sys.stdout.write("%s\n" % x)

Хороший дешевый и грязный хак.

0 голосов
/ 14 декабря 2015

Я обнаружил, что следующее работает как в многопоточной, так и в многопроцессорной среде, очень просто:

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