PythonからOutlookファイル(拡張子.msg)を読み込み、
データを取得したら、ファイルを削除する処理を行いたいです。
しかし以下のエラーが発生し、解決方法が分かりません。
PermissionError: [WinError 32] プロセスはファイルにアクセスできません。別のプロセスが使用中です
いつもファイルをcloseしていないときにでるエラーと同じ内容なのですが、
openメソッドを使っていないので、closeが使えません。
どのように解決したらよいかご存知の方がいましたら、教えていただけますでしょうか。
ちなみに、どこのドキュメントを参考にしたらいいなどでも構いません。
初心者のため的外れなことを言っていたらすみませんが、どうかよろしくお願いします。
Python
1 2def main(): 3 outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") 4 ol_list = glob.glob1('C:\OUTLOOK\',"*.msg") 5 for mail_file in ol_list: 6 mail_file = 'C:\OUTLOOK\' + mail_file 7 mail = outlook.OpenSharedItem(mail_file) 8 print(mail.body) 9 os.remove(mail_file) # ★エラー発生 10if __name__ == "__main__" : 11 main()
※C:\OUTLOOKフォルダに、.msgファイルを置いている前提です。
なぜ削除が必要かというと、定期的に上記ファイルを実行することを想定しており、
指定のフォルダに存在しているファイル数分ループして処理を行うため、処理済みのものは
削除する(またはフォルダ移動をさせる)必要があります。
※無駄にデータを保存しておきたくないため、今回は削除です
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/04 11:21