[英]Updating a printed string on stdout in python3
我正在嘗試使用 python 和格式化字符串更新打印到 stdout 的行。 該行正在打印,但在每次循環中都打印在同一行上,緊挨着上一個打印的更新。
item = ("{}{}{}{}".format(totalAllScraped,
str(" profiles scraped "),
(len(sortedurls)),
str(" filtered profiles saved.")))
print(item, sep='', end='', flush=True)
我想將該行打印到標准輸出,並且循環的每次迭代,前一行都被下一行覆蓋。
import sys
stuff = ("{}{}{}{}".format(totalAllScraped, str(" profiles scraped "), (len(sortedurls)), str(" filtered profiles saved.")))
sys.stdout.write("\r" + stuff)
sys.stdout.flush()
無論如何,這確實有用
這是一個更簡單的 Python 字符串示例,它已被打印到 stdout 被替換
import sys
import time
for i in range(3):
message = "testing " + i
sys.stdout.write("\r" + stuff) #The \r is carriage return without a line
#feed, so it erases the previous line.
sys.stdout.flush()
time.sleep(1)
上面的打印:
testing 1
對於標准輸出,隨后的 2 次迭代將其擦除並用“測試 2”和“測試 3”替換它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.