我有一个脚本,它运行并通过GET将文本文件中的URL提交给API,并将响应保存到文本文件中。但是,如果我在第一部分中出现故障并且没有继续传递其他部分,则for循环退出。在完成之前,如何在没有脚本退出的情况下仍然可以抓住故障并继续使用其他人?
sys.stdout=open("mylog.txt","w")
for row in range(0, len(exampleData)):
url = exampleData[row][0]
print (url)
response = requests.get(url, auth=(user, pwd))
if response.status_code != 200:
print('Failure Message {}' .format(response.text))
work = 'failed'
continue
data = json.loads(response.text)
print(data)
work = 'succeeded'
sys.stdout.close()
答案 0 :(得分:2)
使用continue而不是exit()
答案 1 :(得分:0)
使用exception来捕获失败并继续。
答案 2 :(得分:0)
现在您的循环控制已得到纠正,它必须正常工作。每次收到错误响应(而不是200)时,它都会打印出一条失败消息。如果您只看到一条错误消息,那么您只能从另一方获得一个非200响应。如果这不是您所期望的,则问题出在服务器端。 (或在exampleData
的内容。)
您需要调试自己的服务器 - 客户端系统。简化此循环,以便它唯一能够打印有关响应的诊断信息(例如,打印status_code
),并找出实际发生的情况。