亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Python 3 中只顯示最后一次打?。?/h1>

印刷品太多,我想擦掉一些臨時印刷品。例如,我有:import timefor shard in range(3):    for i in range(100):        print("image_{} in shard_{}".format(i, shard))        time.sleep(1)而不是所有印刷品的列表image_0 in shard_0image_1 in shard_0image_2 in shard_0image_3 in shard_0我希望看到它們打印一次,然后被下一次打印所取代。image_0 in shard_0image_1 in shard_0image_2 in shard_0最后我只會有image_99 in shard_0image_99 in shard_1image_99 in shard_2屏幕上。我怎樣才能做到這一點?
查看完整描述

3 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

我認為您誤解了“刷新輸出緩沖區”的含義。我不會刪除以前打印的內容。它只是意味著“立即打印,無需等待整行(或文件價值)的輸出?!?/p>


刷新可能很重要的一個例子是當你在一行中打印出幾件事時,它們之間有一個延遲:


import time


for i in range(10):

    print(i, end="")

    time.sleep(1)

在許多控制臺上,這將在 10 秒內不打印任何內容,然后您會0123456789立即看到所有內容。但是如果你添加flush=True到print通話中,你會看到每個號碼分別出現,一個接一個,中間有一秒鐘的延遲。你仍然0123456789在一條線上,但它是逐漸建立起來的。(請注意,某些 IDE 中內置的控制臺可能不會以真實終端的正常方式進行行緩沖,因此您的里程可能會有所不同。真實控制臺更加一致。)


如果您打印的是末尾帶有換行符的整行(這是 的默認設置print),flush則沒有必要使用 usually,因為大多數終端都是行緩沖的。這意味著它們會在每一行的末尾自動刷新自己,即使flush=True在輸出后沒有明確要求刷新。


查看完整回答
反對 回復 2023-06-06
?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

嘗試這個:


import time

for shard in range(3):

    for i in range(100):

        print("image_{} in shard_{}\r".format(i,shard),end = "")

        time.sleep(1)

    print()


查看完整回答
反對 回復 2023-06-06
?
慕少森

TA貢獻2019條經驗 獲得超9個贊

嘗試:


for i in range(3):

    print("{}\r".format(i), end="")


print("Hello\r", end="")

print("World\r", end="")

輸出將是World。


查看完整回答
反對 回復 2023-06-06
  • 3 回答
  • 0 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號