我想阻止我的for循环中的停顿。
import datetime as dt
shopping_list = ['eggs','milk','bread']
def buy_item(item):
connect_to_website()
send_order_instruction(item)
disconnect()
for i in range(0,len(shopping_list)):
item = shopping_list[i]
time_elapsed = 0
start_time = dt.datetime.now()
while time_elapsed < 60:
buy_item(item)
check_time = dt.datetime.now()
time_elapsed = check_time - start_time
buy_item()登录网站并完成购买程序。但有时它会因为互联网连接,项目未找到,网站暂时暂停,或其他一些原因而卡在某个项目上。功能只是停滞不前。我尝试使用while循环,但这没有用。如果停止超过1分钟,如何使循环跳过项目?是否有可能使循环跳过特定项目的buy_item?尝试在这种情况下是否合适?只是大声思考。谢谢您的帮助。我真的很感激。
答案 0 :(得分:1)
import threading
thread = threading.Thread(target=buy_item, args=(item,))
thread.start()
这将对buy_item进行异步调用,你可以在线程内部执行sys.exit()或者可以使用thread.join()
等待线程完成最好在python中查找线程模块或多进程模块以进行异步调用。
答案 1 :(得分:0)