我想查询所有新电子邮件(逐个)并找到它们的内容,以便我可以将这些内容用于其他应用程序。
我的第一步是解释通过IMAP4对象的搜索attr完成的搜索的返回值。我试图弄清楚我已经回复给我的列表中有哪些数据 如何通过打印检查对象树?或者,更好的是,如何以字符串形式获取电子邮件的内容?
例如,我通过print返回以下内容:
来自名为" response"的变量的unseen email content: ['3 4']
。
如果我运行print response.__class__.__name__
,我会得到" list"返回。
我知道" 3"和" 4"中还有其他数据,我只是不知道是什么。
更新:具体来说,这是对IMAP4obj.search的调用的返回(无,'(UNSEEN)')
答案 0 :(得分:1)
您可以尝试导入pdb并执行pdb.pprint.pprint(response)
如果它是在您自己的计算机上运行的程序,您还可以执行pdb.set_trace()
并使用响应进行播放。
ipdb模块有更好的版本,但默认情况下通常不安装。
答案 1 :(得分:1)
来自python docs(here)这个例子:
# M is a connected IMAP4 instance...
typ, msgnums = M.search(None, 'FROM', '"LDJ"')
似乎返回了一个元组,你可以试试,
print(type(typ))
print(dir(typ))
print(type(msgnums))
print(dir(msgnums))
尝试阅读文档,看看它是否有助于澄清您的疑虑甚至让您的问题更清晰。
答案 2 :(得分:1)