簡體   English   中英

將 print flush=True 設置為默認值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM