我有一些 Python 代码如下:
for emailCredentials in emailCredentialsList:
try:
if not emailCredentials.valid:
emailCredentials.refresh()
except EmailCredentialRefreshError as e:
emailCredentials.active = False
emailCredentials.save()
# HERE I WANT TO STOP THIS ITERATION OF THE FOR LOOP
# SO THAT THE CODE BELOW THIS DOESN'T RUN ANYMORE. BUT HOW?
# a lot more code here that scrapes the email box for interesting information
正如我已经在代码中评论的那样,如果抛出 EmailCredentialRefreshError,我希望 for 循环的这次迭代停止并移至 emailCredentialsList 中的下一项.我不能使用 break,因为那样会停止整个循环并且不会覆盖循环中的其他项目。我当然可以将所有代码包装在 try/except 中,但我希望将它们放在一起以便代码保持可读性。
解决这个问题的最 Pythonic 方法是什么?
请您参考如下方法:
尝试使用 continue 语句。这将继续到循环的下一次迭代。
for emailCredentials in emailCredentialsList:
try:
if not emailCredentials.valid:
emailCredentials.refresh()
except EmailCredentialRefreshError as e:
emailCredentials.active = False
emailCredentials.save()
continue
<more code>
