【发布时间】:2021-02-18 20:14:01
【问题描述】:
我有这个代码:
animation = ["[■□□□□□□□□□]", "[■■□□□□□□□□]", "[■■■□□□□□□□]", "[■■■■□□□□□□]",
"[■■■■■□□□□□]", "[■■■■■■□□□□]", "[■■■■■■■□□□]", "[■■■■■■■■□□]",
"[■■■■■■■■■□]", "[■■■■■■■■■■]"]
import sys
for i in range(len(animation)):
time.sleep(0.2)
sys.stdout.write("\r" + animation[i % len(animation)]+ "\n")
sys.stdout.flush()
但是动画是这样一个一个的:
[■□□□□□□□□□]
[■■□□□□□□□□]
而不是更换盒子。如何让它看起来像动画?
编辑:我忘了提到我在 pysimpleguy 布局中使用它。不知道它是否重要。
【问题讨论】:
-
几个问题:你为什么使用
sys.stdout而不是print()?为什么不直接迭代动画字符串而不是使用索引和模数?即:for anim in animations: -
t.generate()是做什么的?您需要提供一个可运行的minimal reproducible example。 -
@martineau t.generate() 制作一个 torrent 文件,这是我想要制作进度条的地方。
-
由于这与您的问题无关,因此应该将其删除,以便拥有重现问题所需的绝对最少数量的代码。
-
@martineau 完成。
标签: python progress-bar pysimplegui