我正在尝试python中的线程。我希望在另一个方法运行时显示一个旋转光标(5-10 分钟)。我已经完成了一些代码,但我想知道你会这样做吗?我不喜欢使用全局变量,所以我认为有更好的方法吗?
c = True
def b():
for j in itertools.cycle('/-\|'):
if (c == True):
sys.stdout.write(j)
sys.stdout.flush()
time.sleep(0.1)
sys.stdout.write('\b')
else:
return
def a():
global c
#code does stuff here for 5-10 minutes
#simulate with sleep
time.sleep(2)
c = False
Thread(target = a).start()
Thread(target = b).start()
编辑:
现在的另一个问题是,当处理结束时,旋转光标的最后一个元素仍在屏幕上。所以\
打印了类似的东西。