gpt4 book ai didi

python - 从外部停止循环的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 23:59:54 26 4
gpt4 key购买 nike

我有一个打印微调器的 python 脚本。希望这个微调器会一直持续到停止。

spinnerFrames = [
"/",
"-",
"\\",
"|",
]

def spinner():
i = 0
while True:
clearScreen() #function to clear the screen
print(spinnerFrames[i])
i = i + 1
if (i == 3):
i = 0
sleep(0.15)

spinner()
sleep(3)
# break out here
print("Done!")

我知道您可以执行 sys.stdout.write() 然后只删除该行,但这不是重点。

我想不出停止循环和退出函数的最佳方法。 (继续我的代码)我希望能够从你调用它的地方中断循环,因为我希望将它变成一个 Pip 包。

我认为这是可能的,但我不知道该怎么做。感谢您的帮助!

最佳答案

您需要异步运行它,就像多处理库允许您这样做一样。当你创建一个单独的线程时,你会得到一个句柄,当你想要它停止时,你可以使用它来杀死它。

from multiprocessing import Process
from time import sleep
spinnerFrames = [
"/",
"-",
"\\",
"|",
]
def spinner():
i = 0
while True:
print(spinnerFrames[i], end='\r')
i = i + 1
if (i == 3):
i = 0
sleep(0.15)

if __name__ == '__main__':
p = Process(target=spinner)
p.start()
sleep(3)
p.terminate()
print("Done!")

关于python - 从外部停止循环的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63454061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com