一尘不染

在python中加载动画

linux

我是python的新手,想知道如何在我的程序运行时制作加载动画。我需要这样做是因为我不希望用户认为程序陷入了死循环。我喜欢这样的东西…

正在加载…(点消失并一一出现)

谢谢!


阅读 588

收藏
2020-06-07

共1个答案

一尘不染

如果您的输出窗口支持回车符,则可以打印它以使光标返回到当前行的开头(前提是您的print语句以逗号结尾,因此不会自动打印换行符)。然后,后续打印将覆盖已打印的内容。您可以使用它来做非常简单的单行动画。例:

import time

print "Starting program."

print "Loading   ",
time.sleep(1) #do some work here...
print "\rLoading.  ",
time.sleep(1) #do some more work here...
print "\rLoading.. ",
time.sleep(1) #do even more work...
print "\rLoading...",
time.sleep(1) #gratuitious amounts of work...
print "\rLoading   ",

time.sleep(1)占位符代表您要完成的实际工作。

结果:

Starting program.
Loading

然后,一秒钟后:

Starting program.
Loading.

然后,一秒钟后:

Starting program.
Loading..

然后,一秒钟后:

Starting program.
Loading...

然后,一秒钟后:

Starting program.
Loading

等等

兼容性说明:在3.X中,print它不再是语句,并且“以逗号结尾”的技巧也不再起作用。而是指定end参数:

print("\rLoading...", end="")
2020-06-07