前提・実現したいこと
現在、送られてきたメールから添付ファイル(excel)を任意のフォルダに保存するスクリプトを書いています。
mbox形式のものをpythonで処理しようと考えています。
発生している問題・エラーメッセージ
基本的には順調にいくのですが、ファイルによってはエラーで止まってしまいます。
(保存できるファイルとできないファイルがあります)
エラーメッセージ OSError: [Errno 22] Invalid argument:\Downloads\attach_ml\=?ISO-2022-JP?B?GyRCJWwlcyU0ITxILEQsGyhCIDctGyRCJVUbKEI=?=\n =?ISO-2022-JP?B?GyRCJSclayVISixATxsoQg==?= 171106.xls
該当のソースコード
python 3.5.2
ソースコード import os, sys import mailbox maildir = mboxファイル tempdir = 添付ファイル保存先ディレクトリ def extractMime(message): for part in message.walk(): if part.get_content_maintype() == 'multipart': continue fname = part.get_filename() if fname != None: if fname.find(".xls") != -1: xlname = tempdir+'\'+ fname # excelファイルが存在する場合は処理を飛ばす if os.path.isfile(xlname) == False: print(xlname) fp = open(xlname, 'wb') fp.write(part.get_payload(decode=True)) fp.close() if __name__ == '__main__': for message in mailbox.mbox(maildir): extractMime(message)
試したこと
文字コードが原因でもなさそうで、問題がわかりません。
補足情報(FW/ツールのバージョンなど)
python 3.5.2 windows10
あなたの回答
tips
プレビュー