找到列表对象中的所有项目

时间:2012-02-26 02:09:55

标签: python

我想查询所有新电子邮件(逐个)并找到它们的内容,以便我可以将这些内容用于其他应用程序。

我的第一步是解释通过IMAP4对象的搜索attr完成的搜索的返回值。我试图弄清楚我已经回复给我的列表中有哪些数据 如何通过打印检查对象树?或者,更好的是,如何以字符串形式获取电子邮件的内容?

例如,我通过print返回以下内容: 来自名为" response"的变量的unseen email content: ['3 4']。 如果我运行print response.__class__.__name__,我会得到" list"返回。

我知道" 3"和" 4"中还有其他数据,我只是不知道是什么。

更新:具体来说,这是对IMAP4obj.search的调用的返回(无,'(UNSEEN)')

3 个答案:

答案 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)

听起来像调试器可能有所帮助。如果您使用带调试器的IDE,则设置断点并内省对象。

如果您尚未使用IDE,请结合Eclipse

尝试PyDev