簡體   English   中英

在python3中更新stdout上的打印字符串

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

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