2016-08-23 22 views
0

私は迷惑メールで、Flankerを使って電子メールを解析しています。 https://github.com/mailgun/flankerFlanker:MimePartは反復可能ではありません

私は理解できないような反復不可能なエラーが発生しています。私はリストについてたくさんのページを読んだことがありますが、それを動作させることはできません。私はいくつかの助けを得ることができることを願っています。

次のコードを実行するには、Flankerをインストールし、このファイルを「電子メール」として保存する必要があります。 http://pastebin.com/ZS4q2kYN

私は 'attachmenttype'を読んで、応答に応じて何かをしようとしています。しかし、それを動作させることはできません。ここでは、テストコードは次のとおりです。事前に myerror

ありがとう:

#!/usr/bin/python 
#Open Email 
from flanker import mime 
with open ("email", mode="rb") as myfile: 
    message_string=myfile.read() 
myfile.close() 

#Read Email 
msg = mime.from_string(message_string) 

#read attachment type 
attachmenttype = msg.parts[1] 
print attachmenttype 

#This errors for me: TypeError: argument of type 'MimePart' is not iterable 
if attachmenttype: 
    if '(text/html)' in attachmenttype: 
     print "woohoo" 

ここで私が得る応答があります。

答えて

1

attachmenttypeは文字列で表示されますが、文字列ではなく、いくつかのプロパティを含む構造体です。しかし、あなたがそれを印刷することができるので、あなたはそこに途中です。 strを使用して文字列に変換して比較してください。

このようにコードを修正してください。私はそれを試すことができませんでしたが、私はそれがうまくいかないか分かりません:

if attachmenttype: 
    if '(text/html)' in str(attachmenttype): 
     print("woohoo") 
+0

OMGありがとう!私は昨日一日中、金曜日にその日のほとんどを過ごしました。うわー...あなたの素早い返信をありがとう –

+0

それは文字列ではない理由を説明できますか? –

+0

多くのメソッドを持つオブジェクトです。たとえば、textとhtmlはこのクラスの別の属性であり、文字列への変換によって連結されます。 –

関連する問題