fileObject = open("countable nouns raw.txt","rt")bigString = fileObject.read()fileObject.close()
每当我尝试阅读此文件时,我得到:
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 82273: character maps to <undefined>
我一直在阅读,似乎与我的默认编码不匹配文本文件编码有关.我在另一篇文章中读到,您可以使用此方法读取具有特定编码的文件:
import codecsf = codecs.open("file.txt","r","utf-8")
但你必须提前知道.问题是我不知道文本文件是如何编码的.一些帖子建议使用Chardet.我已经安装了它,但我不知道如何让它读取文本文件.
关于如何解决这个问题的任何想法?
解决方法 没有必要使用codecs.open();这是对Python 2的建议.在Python 3中,open()接受一个编码参数:
fileObject = open("countable nouns raw.txt","rt",enCoding='utf8')
当然,这确实需要您知道文件使用的编解码器.一般来说,Python并不是一个容易理解的方法;单个文件格式可能包含编解码器信息或已在给定编解码器上标准化,但如果您拥有通用文本文件,则必须确定创建它的内容以及用于编写数据的编解码器.
总结以上是内存溢出为你收集整理的python – 读取文本文件时的UnicodeDecodeError全部内容,希望文章能够帮你解决python – 读取文本文件时的UnicodeDecodeError所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)