我想为用户向我的脚本输入错误密码编写错误处理程序。我一直在更改 except 语句之后的代码,但我找不到正确的错误代码是什么。我错过了什么吗?
import imaplib
import email
mail = imaplib.IMAP4_SSL('imap.gmail.com')
username = raw_input('USERNAME (email):')
password = raw_input('PASSWORD: ')
try:
mail.login(username, password)
print "Logged in as %r !" % username
except:
imaplib.error
print "Log in failed."
mail.list()
# Out: list of "folders" aka labels in gmail.
mail.select("inbox") # connect to inbox.
fromWho = raw_input('FROM:')
result, data = mail.uid('search', None, '(FROM fromWho)')
latest_email_uid = data[0].split()[-1]
result, data = mail.uid('fetch', latest_email_uid, '(RFC822)')
raw_email = data[0][1]
print raw_email
最佳答案
如果要捕获某个异常,try...except
中的异常名称Python中的子句应该写在except
关键字之后:
try:
mail.login(username, password)
print "Logged in as %r !" % username
except imaplib.IMAP4.error:
print "Log in failed."
请注意,我将异常名称更改为 imaplib.IMAP4.error
。这并不明显,但您可以通过查看 imaplib
的源代码找到异常的正确名称。
关于python - 如何在 Python 中使用 imaplib 处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18754195/