[英]basic python while loop with break
我有一個基本的python問題。
我正在查詢有時對時間敏感的 API。 我想在 python 中編寫一個循環來實現這一點。 我想要的功能如下:
查詢(返回r),如果查詢成功返回則繼續返回r。
如果沒有,我想以增量方式向查詢的參數添加一些時間(因此可能是 for 循環,for i in range(24 (hours)): 然后一次添加一小時,直到查詢有效。
如果在上面的 for 循環之后查詢不起作用,則有一些日志錯誤消息。
我正在努力使 while/for 循環的順序正確。 我可以進行一些嘗試,但我認為如果將其放入偽代碼中會更有用:
While True:
if (r is not successful):
i = 0:
while i <= 24:
add time and query again
r <-- return query with new time
i += 1
.......
return r
像這樣,當查詢正確返回時如何退出循環?
我也不相信我的偽代碼正是我想要的。
這能行嗎?
def run_api():
if success:
return results
else:
return False
While True:
results = run_api()
if results:
break
else:
sleep (however you have it coded)
return results
您可以使用 .time() 函數。
import time
while True:
results = query()
if results:
print(results) #or return to any datatype as required.
time.sleep(wait_period_to_next_query) #to be given in seconds
break #if you want to exit the loop after 1 successful query
else:
print('Query unsuccessful, retrying after wait period.')
time.sleep(wait_period) #wait_period to be given in seconds
如果要連續查詢 API,可以省略斷行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.