用 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中文网其他相关文章!