我正在从API请求数据,该API偶尔会返回后端错误。我有一个标识符列表,该标识符按索引传递给api函数以检索其各自的数据。返回的数据帧已存储。
x=0
while x <= 13000:
file_checked = Path("path\\%05d.pkl" % (x))
if file_checked.is_file():
print(str(x) + list_of_identifiers[x])
x += 1
else:
identifier = list_of_identifiers[x]
data = apifunction
data.to_pickle("path\\\\%05d.pkl" % (x))
print(str(x) + list_of_identifiers[x])
x += 1
print命令仅给我有关进度的视觉反馈。检查文件是否存在使我更容易重新启动循环,因为在循环中断时不必手动设置x。
这是我的大问题。循环中断。有时,服务器会返回各种不同类型的后端错误(可能围绕着三个不同的错误代码)。
有人可以帮助我使此代码(或替代方法)对所提到的错误更可靠吗?它应该简单地重试相同的“ x”,然后继续。我应该提到,根据我的经验,错误似乎是任意发生的,这使人们极不可能陷入无休止的重试循环中。 尽管我找到了有关该主题的几篇文章,但无法将其转移到我的问题上。
答案 0 :(得分:0)
有人可以评论我当前的解决方案吗?
x=0
while x <= 13073:
file_checked = Path("path\\%05d.pkl" % (x))
if file_checked.is_file():
x += 1
else:
while x <= 13073:
try:
identifier = list_of_identifiers[x]
data = apifunction
data.to_pickle("path\\%05d.pkl" % (x))
x += 1
except:
print("Error")
continue