这是进度微调器的代码:
import sys
import time
def spinning_cursor():
while True:
for cursor in '|/-\\':
yield cursor
spinner = spinning_cursor()
for _ in range(50):
sys.stdout.write(spinner.next())
sys.stdout.flush()
time.sleep(10)
sys.stdout.write('\b')
输出
python2.7 test.py
|
它旋转得非常慢,因为循环休眠了10秒
在进程处于休眠状态时,如何继续旋转旋转器
产生两个线程,
A
和B
。线程A
运行cmd
完成。线程B
显示旋转光标并等待线程A
退出,这将在cmd
完成时发生。此时,线程B
清除旋转光标,然后退出或者使用现有的库,而不是重新发明轮子。考虑progressbar库。您将需要
RotatingMarker
进度指示器你可以小步入睡,直到达到10秒:
但这会阻塞主线程,因此只有当您想等待10秒而不在Python程序中执行任何其他操作(例如,等待某个外部进程完成)时,它才有用
如果希望在微调器旋转时运行其他Python代码,则需要两个线程,一个用于微调器,一个用于主要工作。您可以这样设置:
您必须创建一个单独的线程。下面的示例大致说明了如何做到这一点。然而,这只是一个简单的例子
相关问题 更多 >
编程相关推荐