37,720
社区成员
发帖
与我相关
我的任务
分享
import jieba
#爬网页的程序略
#处理数据
inputFile = open("result.txt", "r", encoding = "utf-8") #result.txt是爬下来的数据保存的文本文件,全是中文,没有标点符号和空格
outFile = open("fenci.txt", "w+", encoding = "utf-8") #保存分词后的文本。
static = {}
text = inputFile.read()
analy = jieba.cut(text, cut_all=False)
wordlist = []
for s in analy:
wordlist.append(s+" ")
static[s] = 0
outFile.writelines(wordlist)
inputFile.close()
outFile.close()
#数据展示
inputFile = open("fenci.txt", "r", encoding="utf-8")
allWords = []
line = inputFile.readline()
while line:
list = line.split(" ")
for word in list:
allWords.append(word) #将分词后的文件里的所有词都放到一个list里。
line = inputFile.readline()
inputFile.close()
print("测试,先改文件,再按任意键")
‘’‘如此进行测试,因为每个词后面都有个空格,怀疑是这个问题,在这里程序暂停,手动打开fenci.txt删去最后一个词后面的空格,保存,再按任意键继续程序,一样报错。’‘’
input()
for i in allWords:
print(i + str(static.get(i)))
static[i] += 1 #这一行报错!
广告7
对联0
广告8
None
Traceback (most recent call last):
File "C:/Users/Administrator/code/LanguageTest/main.py", line 97, in <module>
static[i] += 1
KeyError: ''
Process finished with exit code 1
for i in allWords:
if i in static.keys():
static[i] += 1
可能就是在字典初始化的时候还没有那个“None”,但问题是那个"None"是怎么来的?