如何解决如何防止进度条动画写入多行?
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 布局中使用它。不知道它是否重要。
解决方法
您可以使用 Rich library 制作进度条。
这是一些示例代码。
import time
from rich.progress import Progress
with Progress() as progress:
task = progress.add_task("[green]Processing...",total=1000)
while not progress.finished:
progress.update(task,advance=0.5)
time.sleep(0.02)
,
通过使用 "\n"
,您将光标移动到新行,因此下一个 "\r"
只是返回到该行的开头。只需删除 "\n"
即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。