【发布时间】:2015-10-12 10:56:03
【问题描述】:
我正在尝试实现下一个效果:
我有两个计数器,一个应该是“当前”计数器,应该从 1 计数到 123,而控制台底部还应该有一个名为“Total”的计数器,应该显示总计数,例如 234。
这是我的代码:
import sys
import time
n = 0
for _ in range(0, 5):
i = 1
for _ in range(0, 123):
sys.stdout.write("\r " + "Current: %d" % i)
sys.stdout.flush()
i = i + 1
n = n + 1
time.sleep(0.01)
print('')
sys.stdout.write("\rTotal: %d" % n)
time.sleep(0.5)
这几乎是我想要的,除了每次执行内部 for 循环时都会覆盖“Total”行。所以应该总是只显示一个“总”行,其中包含循环总数。
这可以在 Python 中实现吗?如何实现?
【问题讨论】:
-
这听起来你正在构建一个比简单 io 更复杂的控制台 GUI。你见过docs.python.org/3/library/curses.html吗?
-
将所有内容放在一行中会容易得多...
-
@Joost 不,但我会检查一下。
-
@swenzel 这不是我想要的
-
@RhymeGuy 明白了。我只是想指出,有时替代方案虽然吸引力不大,但如果它可以为您节省大量时间和头痛,可能值得考虑;)
标签: python python-3.x for-loop counter