用 Python 取代控制台輸出
Python 的多功能性允許根據特定需求自訂控制台輸出。一種常見的技術是建立就地更新的動態控制台計數器。
查詢:用計數器取代輸出
要用進度計數器取代控制台輸出,循環可以修改為在執行每次迭代後顯示狀態訊息。與先前的輸出(每個狀態包含一個新行)不同,此計數器只會更新最後顯示的行。
解決方案:使用 'r'
一個簡單的方法解決方案包括在新狀態訊息之前插入回車符「r」並避免任何換行符。這可確保字串不會變短,如果希望字串長度保持一致,則這是一種可行的方法。
例如:
import sys for i in range(5): sys.stdout.write("\rDoing thing %d" % i) sys.stdout.flush()
增強的解決方案:進度條
為了更複雜的進度條顯示,可以實現進度條。下面的程式碼提供了一個簡單的進度條函數:
def start_progress(title): sys.stdout.write(title + ": [" + "-" * 40 + "]" + chr(8) * 41) sys.stdout.flush() progress_x = 0 def progress(x): global progress_x x = int(x * 40 // 100) sys.stdout.write("#" * (x - progress_x)) sys.stdout.flush() progress_x = x def end_progress(): sys.stdout.write("#" * (40 - progress_x) + "]\n") sys.stdout.flush()
start_progress 函數用標題描述初始化進度條。 Progress(x) 以完成百分比 (x) 更新進度列。最後end_progress完成進度顯示。
以上是如何在 Python 中用計數器和進度條取代控制台輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!