用 Python 中的动态计数器替换控制台输出
厌倦了 Python 控制台输出淹没屏幕?让我们探索如何创建在不覆盖前一行的情况下进行更新的计数器。
一种简单的方法是使用“r”将光标返回到当前行的开头,从而有效地替换现有的输出。当您的输出长度保持不变时,这是一个有效的解决方案:
<code class="python">sys.stdout.write("\rDoing thing {}".format(i)) sys.stdout.flush()</code>
但是,如果您的输出长度可能变化,则需要更复杂的解决方案。考虑这个进度条实现:
<code class="python">def start_progress(title): sys.stdout.write(title + ": [" + "-"*40 + "]" + chr(8)*41) sys.stdout.flush() def progress(x): x = int(x * 40 // 100) sys.stdout.write("#" * (x - progress_x)) sys.stdout.flush() def end_progress(): sys.stdout.write("#" * (40 - progress_x) + "]\n") sys.stdout.flush()</code>
此代码允许您通过调用 start_progress 显示可自定义的进度条,使用 Progress(x) 更新它,其中 x 是百分比,最后使用 end_progress 结束它。
因此,下次您希望控制台输出更具交互性和用户友好性时,请考虑这些在 Python 中创建动态计数器的技术。
以上是如何在 Python 中用动态计数器替换静态控制台输出?的详细内容。更多信息请关注PHP中文网其他相关文章!