替换 Python 中的控制台输出
在 Python 中,控制控制台的输出可能具有挑战性,特别是当您只需要更新显示信息的一部分。这个问题讨论了用简洁的进度计数器替换当前控制台输出的解决方案。
一种简单的方法是编写一个退格字符(“r”),后跟不带换行符的新字符串。通过这样做,仅更新控制台中的最新行。这如下面的代码片段所示:
<code class="python">sys.stdout.write("\rDoing thing %i" % i) sys.stdout.flush()</code>
但是,对于更复杂的进度条,您可以实现自定义函数来跟踪进度并根据进度百分比显示动态条。下面是一个示例:
<code class="python">def progress(title): global progress_x sys.stdout.write(title + ": [&" + "-" * 40 + "]") + chr(8) * 41 sys.stdout.flush() progress_x = 0 def progress(x): global progress_x progress_x = int(x * 40 // 100) sys.stdout.write("#" * (progress_x - progress_x)) sys.stdout.flush() def stop_progress(): sys.stdout.write("#" * (40 - progress_x) + "]\n") sys.stdout.flush()</code>
要使用此函数,请调用 start_progress 并指定操作说明,调用进度并指定百分比,最后调用 stop_progress 以在控制台中显示完整的进度条。
以上是如何替换Python中的控制台输出?的详细内容。更多信息请关注PHP中文网其他相关文章!