[英]Set print flush=True to default?
我知道您可以在 print 語句之后通過設置flush=True
來刷新,如下所示:
print("Hello World!", flush=True)
但是,對於要進行多次打印的情況,手動將每個打印設置為flush=True
會很麻煩。 有沒有辦法將 Python 3.x 的默認設置為flush=True
? 我正在考慮類似於 numpy 使用numpy.set_printoptions
給出的打印選項。
您可以使用partial
:
from functools import partial
print_flushed = partial(print, flush=True)
print_flushed("Hello world!")
從文檔中:
partial() 用於部分 function 應用程序,它“凍結”函數的 arguments 和/或關鍵字的某些部分,從而生成具有簡化簽名的新 object。
你可以使用這樣的東西:
def decorator(func):
printer = func
def wrapped(*args):
printer(*args, end=' *\n', flush=True)
return wrapped
print = decorator(print)
for i in range(5):
print(i)
0 *
1 *
2 *
3 *
4 *
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.