首页 新闻 会员 周边 捐助

编码器无法解码起始位置的字节,要怎么办啊,求大佬帮忙

0
[已解决问题] 解决于 2019-10-12 22:42

import jieba
excludes = {"将军","却说","荆州","二人","不可","不能","如此","商议","军士","如何",
"主公","军马","左右",}
txt = open("./三国演义.txt", "r", encoding='utf-8').read()
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1:
continue
elif word == "诸葛亮" or word == "孔明曰":
rword = "孔明"
elif word == "关公" or word == "云长":
rword = "关羽"
elif word == "玄德" or word == "玄德曰":
rword = "刘备"
elif word == "孟德" or word == "丞相":
rword = "曹操"
else:
rword = word
counts[rword] = counts.get(rword,0) + 1
for word in excludes:
del counts[word]
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(5):
word, count = items[i]
print ("{0:<10}{1:>5}".format(word, count))

出现的问题
"C:\Program Files\Anaconda3\python.exe" F:/Fristclass/untitled1/CalThreeKingdoms.py
Traceback (most recent call last):
File "F:/Fristclass/untitled1/CalThreeKingdoms.py", line 4, in <module>
txt = open("./三国演义.txt", "r", encoding='utf-8').read()
File "C:\Program Files\Anaconda3\lib\codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start byte

文本
第一篇  东汉的衰败
单纯从年号上看,名正言顺的三国时代开始于魏文帝曹丕废汉献帝刘协,三国各自称帝称王。然而,硬说三国开始于曹丕,谁都不会同意。原因就是那个时候的东汉,早就名存实亡了。因此,谈到三国时不能不先谈一谈东汉的衰败。-X0Oa X4KT4@']
  东汉的几个皇帝,除光武帝刘秀外几乎都是“少年得志”。后汉书中记载,自孝和皇帝以来即位时最年长的少帝不过17岁(注1),最“年轻”的孝殇帝刘隆不过100多天!乳臭未干的小孩焉能君临天下?权力自然就落到了亲朋(外戚)好友(宦官)的手里。后宫干预朝政,天下从来没有太平过,更何况东汉几十年如一日地贯彻这一基本国策?

澜七玖的主页 澜七玖 | 初学一级 | 园豆:199
提问于:2019-10-12 21:02

代码和txt文件的前几行发一下吧,提问题的时候最好把相关的代码和文件贴一下,这样方便解答

黑白条纹 5年前

@黑白条纹: 好的,谢谢大佬

澜七玖 5年前
< >
分享
最佳答案
0
奖励园豆:5
黑白条纹 | 菜鸟二级 |园豆:295 | 2019-10-12 21:23

谢谢大佬,问题已经解决了,是我自己的那个TXT文件有问题

澜七玖 | 园豆:199 (初学一级) | 2019-10-12 22:41

@澜七玖: 嗯嗯,建议你看看我发的这篇文章,里面把出现这个错误的情况和解决方案列举得非常全面。

黑白条纹 | 园豆:295 (菜鸟二级) | 2019-10-12 22:43

@黑白条纹: 我会的,谢谢大佬热心帮忙

澜七玖 | 园豆:199 (初学一级) | 2019-10-12 22:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册