pythonNotes = open('E:\\Python Notes.docx','r')
read_it_now = pythonNotes.read()
print(read_it_now.encode('utf-16'))
当我尝试这段代码时,我得到:
UnicodeDecodeError: 'charmap' can't decode byte 0x8f in position 591 character maps to <undefined>
我在Visual Studio中使用python工具运行它 - 无需调试即可启动。
我尝试将enc='utf-8'
放在顶部,将其作为参数投入,我已经查看了其他问题,但却找不到解决这个简单问题的方法。
请协助。
答案 0 :(得分:0)
当已经采用utf-8格式的文本作为8位编码读入时,此错误can occur,并且python尝试将其“解码”为Unicode:在假定的编码中没有意义的字节扔一个UnicodeDecodeError
。但是,如果您尝试将文件读取为utf-8
编码中不属于utf-8
的文件,则始终会收到错误。
在您的情况下,问题是docx文件不是常规文本文件;没有单一的文本编码可以有意义地导入它。有关如何在较低级别阅读该文档的说明,请参阅此SO answer,或使用python-docx以类似于您在Word中看到的方式访问文档。