在python中加载动画

She*_*ang 3 python linux python-2.7

我是 Python 新手,想知道如何在我的程序运行时制作加载动画。我需要这个,因为我不希望用户认为程序陷入死循环。我更喜欢像...

加载中...(点一一消失又重新出现)

谢谢!

Kev*_*vin 5

如果您的输出窗口支持回车符,您可以打印它以使光标返回到当前行的开头(前提是您的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   ",
Run Code Online (Sandbox Code Playgroud)

...time.sleep(1)代表您想要做的实际工作的占位符在哪里。

结果:

Starting program.
Loading
Run Code Online (Sandbox Code Playgroud)

然后,一秒钟后:

Starting program.
Loading.
Run Code Online (Sandbox Code Playgroud)

然后,一秒钟后:

Starting program.
Loading..
Run Code Online (Sandbox Code Playgroud)

然后,一秒钟后:

Starting program.
Loading...
Run Code Online (Sandbox Code Playgroud)

然后,一秒钟后:

Starting program.
Loading
Run Code Online (Sandbox Code Playgroud)

等等。

兼容性说明:在 3.X 中,print不再是语句,并且“以逗号结尾”技巧不再有效。相反,指定end参数:

print("\rLoading...", end="")
Run Code Online (Sandbox Code Playgroud)