import jieba word = input() dicts = open("dict.txt","r",encoding='utf-8') for line in dicts.readlines(): a=jieba.lcut(line) if word in a: print(line) break else: print("这个词我不明白") dicts.close()
时间: 2024-04-26 15:27:15 浏览: 301
这是一段 Python 代码,用于从一个名为 dict.txt 的文本文件中查找用户输入的词语。具体实现方法是使用 jieba 库中的 lcut 函数将字典文件中的每一行分词,然后逐个检查分词结果中是否包含用户输入的词语。如果找到了,则输出该行文本;如果遍历完所有行仍未找到,则输出 "这个词我不明白"。需要注意的是,代码中打开文件后应该及时关闭,可以使用 with 语句来实现自动关闭。
相关问题
import jieba f=open('荷塘月色.txt') article_text=f.read() f.close() article=jieba.lcut(article_text) dic={} for word in article: if word not in dic: dic[word]=1 else: dic[word]+=1 swd=sorted(list(dic.items()),key=lambda lst:lst[1],reverse=True) f1=open('filename.txt', encoding='utf-8') text = f.read() stop_wds=f1.read() f1.close() for kword,times in swd: if kword not in stop_wds: print(kword,times) 哪里有问题进行改正并写出
在第13行,应该将`f`改为`f1`,即:
```
stop_wds=f1.read()
```
此外,第12行应该加上关闭文件的操作,即:
```
f1.close()
```
改正后的代码如下:
```
import jieba
f = open('荷塘月色.txt')
article_text = f.read()
f.close()
article = jieba.lcut(article_text)
dic = {}
for word in article:
if word not in dic:
dic[word] = 1
else:
dic[word] += 1
swd = sorted(list(dic.items()), key=lambda lst:lst[1], reverse=True)
f1 = open('filename.txt', encoding='utf-8')
text = f1.read()
stop_wds = text.split('\n')
f1.close()
for kword, times in swd:
if kword not in stop_wds:
print(kword, times)
```
修改代码import jieba import numpy as np import matplotlib.pyplot as plt text = open('comment.txt', encoding='utf-8').read() from PIL import Image, ImageDraw, ImageFont from wordcloud import WordCloud text = ' '.join(jieba.cut(text)) # 生成对象 mask = np.array(Image.open("computer.jpg")) wc = WordCloud(ImageFont.truetype("arial.ttf")).generate(text) # 显示词云 # plt.imshow(wc, interpolation = 'bilinear') # plt.axis("off") # plt.show() # 保存文件 wc.to_file('rs_computer.png')
这段代码的问题在于 `WordCloud` 类的实例化时,使用了错误的参数格式。`WordCloud` 类的构造函数需要传入一个字典类型的参数,用于指定词云生成时的各种参数。而在这段代码中,只传入了一个 `ImageFont.truetype("arial.ttf")` 参数,这是错误的。
下面是修改后的代码,已经添加了 `WordCloud` 类的参数字典:
```python
import jieba
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image, ImageDraw, ImageFont
from wordcloud import WordCloud
text = open('comment.txt', encoding='utf-8').read()
text = ' '.join(jieba.cut(text))
# 生成对象
mask = np.array(Image.open("computer.jpg"))
wc = WordCloud(
font_path=ImageFont.truetype("arial.ttf"),
mask=mask,
background_color="white",
max_words=2000,
max_font_size=100,
width=1600,
height=800,
random_state=42
).generate(text)
# 显示词云
# plt.imshow(wc, interpolation='bilinear')
# plt.axis("off")
# plt.show()
# 保存文件
wc.to_file('rs_computer.png')
```
在这个例子中,我们使用了 `WordCloud` 类的参数字典,指定了生成词云时的各种参数,例如字体文件路径、遮罩图像、背景颜色、最大单词数、最大字体大小、词云图像宽度和高度等。这样就可以正确地生成和保存词云图像了。
阅读全文