2024-10-08 20:24:32 发布
网友
我尝试将selenium机器人集成到电报中,这样我就可以轻松启动和停止
def mulai(update, context): update.message.reply_text('Absen Start!') while True: if pycron.is_now('*/1 * * * *'): absen() time.sleep(60)
但如何阻止它呢
要停止代码运行,可以使用python中的break语句
from time import sleep #Counting up to 10 for i in range(10): print(i+1) sleep(1) #stop counting at 5 if i == 4: break
如果没有break语句,代码将继续计数到10
根据评论中的澄清,您正试图阻止来自其他地方的一个循环。一种方法是共享变量:
run_flag = True def fn1(): while run_flag: do_stuff() sleep(60) def stop_fn1(): global run_flag run_flag = False
这是安全的,只要一次只能对run_flag进行一次写访问,也就是说,您没有试图跨多个线程共享它。如果你是,你需要考虑使用线程安全的工具,比如semaphore
run_flag
semaphore
不需要run_flag是全局的,只要循环函数和设置它的函数都可以访问它
要停止代码运行,可以使用python中的break语句
如果没有break语句,代码将继续计数到10
根据评论中的澄清,您正试图阻止来自其他地方的一个循环。一种方法是共享变量:
这是安全的,只要一次只能对
run_flag
进行一次写访问,也就是说,您没有试图跨多个线程共享它。如果你是,你需要考虑使用线程安全的工具,比如semaphore
不需要
run_flag
是全局的,只要循环函数和设置它的函数都可以访问它相关问题 更多 >
编程相关推荐