这就是我现在所拥有的:
import time
import sys
done = 'false'
#here is the animation
def animate():
while done == 'false':
sys.stdout.write('\rloading |')
time.sleep(0.1)
sys.stdout.write('\rloading /')
time.sleep(0.1)
sys.stdout.write('\rloading -')
time.sleep(0.1)
sys.stdout.write('\rloading \\')
time.sleep(0.1)
sys.stdout.write('\rDone! ')
animate()
#long process here
done = 'false'
我想得到它,这样“while”脚本将独立运行,并且它将继续运行到进程中,而动画将继续运行,直到进程结束时将变量“done”标记为“false”,停止动画并将其替换为“done!”。这个方法实际上是一次运行两个脚本;有没有办法做到这一点?
使用线程:
我还对
animate()
函数做了一些小修改,唯一真正重要的修改是在sys.stdout.write()
调用之后添加sys.stdout.flush()
。试试这个
我看到这是一个线程问题,而不仅仅是一个动画加载问题。这个QA线程中提供的大多数答案都只提供了一个伪代码,让读者自己处理。
下面是我试图用线程和动画加载的工作示例给出的答案。
读取器可以根据其需要进行修改。
#导入python包
#定义流程
#定义动画角色功能:
#定义线程的名称和目标
#启动线程
#当进程处于活动状态时,调用
animated_loading()
函数注释行中概述了主要步骤。
相关问题 更多 >
编程相关推荐