我正在试图弄清楚如何加载一个长python程序并同时运行加载动画。我环顾四周并发现了线程,但我还没有找到如何使用线程来做到这一点。
答案 0 :(得分:0)
您的编码在此学校计算机上被屏蔽,因此我还没有看到提供的编码,但我仍然可以提供帮助。您可以使用内置的Python Thread模块来执行此操作。
首先,您需要将加载动画放入函数中。将此动画放在while循环中,当变量终止时,让我们使用 loadingfinished ,为True。
def loading_animation():
global loadingfinished # may or may not be needed
while not loadingfinished:
#insert code here
创建此功能后,您可以将loadedfinished设置为零。
现在,在确定模块"线程"导入后,您可以输入
thread.start_new(loading_animation, ())
这会将loading_animation作为新线程启动,不带参数。在此之后,您将获得正常的代码,即需要加载的内容。
完成加载代码后,只需将loadedfinished设置为True即可!这就是您的代码应该是这样的:
import thread
def loading_animation():
global loadingfinished # may or may not be needed
while not loadingfinished:
#insert animation code here
loadingfinished = False
thread.start_new(loading_animation, ())
#insert loading code here
loadingfinished = True
#This by itself causes the separate thread to terminate.
#You may want to put a delay of a tenth of a second or so here,
#to make extra sure the other thread is terminated before you continue.
多线程是一个很好的学习方法,特别是在Python中,因为它是一种缓慢的语言。我通常喜欢将我的blitting和计算分成不同的线程。这几乎可以使你的程序性能提高一倍!
您可以在此处了解有关线程模块的更多信息: https://docs.python.org/2/library/thread.html#module-thread
我无法测试此代码,因此如果有任何错误,请在下面的评论中告诉我。