python - 检测语言并与单词列表进行比较
问题描述
当我将其放入检测语言的代码中时,我的代码中的集合不起作用。
我拥有的代码旨在检测语言(它是'de'并且被正确检测到),然后如果语言是'de',它会将文件中的单词与另一个文件中的单词进行比较。
当我将这些代码作为单独的代码时,它们都可以工作,但是当我将它们放在一起时,输出是错误的。
预期输出为{'mehr', 'Angebot'}实际输出为set()
代码:
from langdetect import detect
f = open("4.txt", mode="r", encoding="utf-8")
read = f.read()
lang = detect(read)
#print(lang)
if lang == 'de':
de = open("positive_words_de.txt")
words1 = f.read().split()
words2 = de.read().split()
words = set(words1) & set(words2)
print(words)
f.close()
de.close()
这是文件 4.txt 上的文本
Re: stuttgarter-zeitung.de Bei der Bahn bekomme ich für mehr Geld mehr Service. Ich bin zuversichtlich, dass ein kleines Unternehmen sich um ein gutes Angebot für Ihre Kunden kümmern werden. Wir werden sehen...
文件 positive_words_de.txt 中的单词只是德语中具有积极从属关系的单词列表,两个单词与 4.txt 文件中的单词匹配,如上所述。
解决方案
所以问题出在这一行:
words1 = f.read().split()
如果我删除read = f.read()
或更改words1 = f.read().split()
代码words1 = read.split
就可以了。words1
当我运行原始代码时是一个空列表。
推荐阅读
- random - 如何在 2d godot 场景中围绕已知位置获得随机位置?
- linux - crontab 每周跳过运行一次
- python - AttributeError:“NoneType”对象没有属性“形状”FLASK
- postgresql - 无法通过 psycopg2 对 postgresql 进行身份验证
- flutter - 将列的每个子项扩展到顶部和底部
- node.js - TypeORM:自定义多对多关系
- c++ - 尝试为链表创建复制构造函数时读取访问冲突
- javascript - Vuex 不检测动作或突变,但检测 getter 很好
- java - Android Studio Switch 标签无缘无故无法访问
- excel - 基于单元格值的重复命名范围