1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 终于填了一个大坑:Python中如何处理《牛津高阶英汉词典》编码通不过问题(解决“Unic

终于填了一个大坑:Python中如何处理《牛津高阶英汉词典》编码通不过问题(解决“Unic

时间:2019-01-28 18:02:37

相关推荐

终于填了一个大坑:Python中如何处理《牛津高阶英汉词典》编码通不过问题(解决“Unic

Python中的文本文件编码真是一个大坑,动不动就出现“UnicodeEncodeError”错误,研究了几天,今天又下载了官方的《Howto-Unicode》,终于找到了处理乱码的方法。要点就是忽略乱码,在解码中加入“ignorance”参数即可。另外,如果不知道文本文件用的是什么编码,可以用word读该文件,如果不是系统默认编码,就会出现选择编码窗口,通过在窗口手动测试,对于大约用什么编码就清楚了。答案就是这么简单,但是解决问题的过程却是大费周折,当然乐趣也在其中。

import re#查找单词。【单词后往往会有空格,】所以加了\s#括号十分关键,有括号和没有括号结果不同#至于为什么,再研究p=pile(r"\n([a-z]{2,40})\s?\r\n")#将包含乱码的文件以二进制读出fileOrin=open(r"files\Z.txt","rb")#对文件进行解码#最为关键的是增加"ignorance"参数#此参数将忽略乱码lines=fileOrin.read().decode("gb2312","ignorance")#在字典中查找相关单词result=re.findall(p,lines)print(result)#留下的问题:#去重,后面解决吧

运行结果是:

今天弄清楚了这个问题,也很有获得感!

终于填了一个大坑:Python中如何处理《牛津高阶英汉词典》编码通不过问题(解决“UnicodeEncodeError”错误)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。