我正在尝试阅读一些电子邮件文件。但是他们的名字格式很奇怪,像这样。
这是我尝试通过python读取其名称后的结果
这就是我尝试与他们合作时的问题。
这是我的代码:
class WorkSpaceSerializer(serializers.ModelSerializer):
projects = ProjectSerializer(many=True,read_only=True,source="workspace_set")
class Meta:
# depth = 2
model = WorkSpace
fields = '__all__'
我的操作系统是Window 10
如何阅读其名称和内容? 谢谢。
答案 0 :(得分:0)
我找到了解决问题的方法。
压缩所有文件并直接从zip文件读取。
例如,我将所有电子邮件压缩到emails.zip
。然后,我使用zipfile
库进行阅读。
这是我的代码:
import email
import os
import sys
import zipfile
# Path to directory where attachments will be stored:
path = sys.argv[1]
# List files
listing = os.listdir(path)
for fle in listing:
name = str(fle.lower())
if name.endswith('.zip'):
print '\n++++++++++++++ {} ++++++++++++++'.format(name)
filepath = path + fle
zfile = zipfile.ZipFile(filepath)
for fname in zfile.namelist():
data = zfile.read(fname)
emailname = os.path.basename(fname).lower()
if emailname.endswith('.eml'):
msg_content = email.message_from_string(data)
if msg_content['to'] is not None:
receiver = msg_content['to']
elif msg_content['reply-to'] is not None:
receiver = msg_content['reply-to']
else:
receiver = ''
print emailname, receiver
我希望它可以在遇到相同问题时为任何人提供帮助。