2011-05-25 41 views
0

我有python.email.message.Message 的與3份的實例,但只有一個是一個附件更好的代碼,以查看是否python.email.message.Message部分是附件

假設MSG是消息,下面的代碼:

for part in msg.walk(): 
    print part.get_param('attachment', 'noattachment', 'Content-Disposition') 

將打印 '' 或noattachment由於報頭是:

內容處置:附件; filename =「abc.zip」

有更優雅的方式更友好,所以我也可以使用reduce()來計數它們嗎?

回答

0
matching_parts = filter(lambda part: \ 
    part.get_all('Content-Disposition', [None])[0] == 'attachment', msg.walk()) 
print len(matching_parts) 
+0

它不工作 你的代碼(也許是相似的)返回[] 而 在msg.walk()部分:印刷part.get_param( '附件', 'noattachment',「內容 - 處置')=='' False False True – sherpya 2011-05-25 18:09:18

相關問題