【发布时间】:2018-12-13 00:05:55
【问题描述】:
我想将 Outlook .msg 文件视为字符串并检查其中是否存在子字符串。
所以我认为导入类似 SO 线程中建议的 win32 库会有点过头了。
相反,我尝试以与 .txt 文件相同的方式打开该文件:
file_path= 'O:\\MAP\\177926 Delete comiitted position.msg'
mail = open(file_path)
mail_contents = mail.read()
print(mail_contents)
但是,我明白了
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 870: character maps to <undefined>
我可以指定任何解码以使其正常工作吗?
我也试过
mail = open(file_path, encoding='utf-8')
返回
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte
【问题讨论】:
-
试试
mail = open(file_path, encoding='utf-8'),而不是utf -
谢谢,这是我试过的,只是我在问题中的错误,现在更新。
-
然后,试试
mail = open(file_path, encoding='Latin-1')。错误可能会消失,但请确保输出是您想要的。 -
非常感谢,这成功了!您要发布答案吗?