python - 如何通过将文本文件与使用 python 的用户输入进行比较来查找文本文件中的字符串?
问题描述
我有读取文件并将其与用户输入进行比较的代码(不区分大小写)。
我使用列表理解来遍历内容并与用户输入进行比较。
问题是列表推导返回一个空列表,尽管输入的单词存在。例子:
user-input :Bruce
预期结果:(Bruce, Bruce
因为它存在于列表中)。
结果 = 空列表
代码:
user_input = self.lineEditSearch.text()
print(user_input)
textString = self.ReadingFileContent(Item)
listText = list(textString.splitlines())
print(listText)
#self.varStr = [c for c in textString if c.islower() or c.isupper() or c.capitalize()]
self.varStr = [item for item in textString if user_input.lower() in item.lower()]
print(self.varStr)
打印输出(listText):
['v01 ', '', ' ', 'Bruce Demaugé', '-', 'Bost ', '', ' ', 'http://bdemauge.free.fr', ' ', 'Les hiboux', ' ', 'Charles Baudelaire', ' ', 'Cycle 3', ' ', '*', ' ', 'POÉSIE', ' ', 'Sous les ifs noirs qui les abritent', ' ', '', ' ', '', ' ', '', ' ', ' ', 'Sans remuer ils se tiendront', ' ', '', ' ', '', ' ', '', ' ', ' ', 'Leur attitude au sage enseigne', ' ', "Qu'il faut en ce monde qu'il craigne", ' ', 'Le tumulte et le mouvement', ' ', ';', ' ', ' ', "L'homme ivre d'une ombre qui passe", ' ', '', ' ', "D'avoir voulu changer de place. ", ' ', ' ', ' ', 'Les Fleurs du Mal', ' ', '1857', ' ', 'Charles Pierre Baudelaire (1821 ', '', ' ', '1867) est un poète français.', ' ', ' ', '', '', 'les et un voyage forcé aux Indes, il est revenu à Paris et a mené une vie dissolue. Un de ses recueils de poèmes, ', 'Les Fleurs du Mal', '', '', '', 'mort à Paris, en 1867, après avoir cumulé pendant un an les problèmes de santé.', ' ', '<br/>v01 ', '', ' ', 'Bruce Demaugé', '-', 'Bost ', '', ' ', 'http://bdemauge.free.fr', ' ', '', ' ', 'Charles Baudelaire', ' ', 'Cycle 3', ' ', '**', ' ', 'POÉSIE', ' ', '', ' ', 'Prennent des albatros, vastes oiseaux des mers,', ' ']
解决方案
在我看来,在您的列表理解中,您只有一个小问题!代替:
item for item in textString
在您的列表理解范围内,我建议:
item for item in listText
目前您正在遍历整个文本的每个字符,而不是拆分文档列表中的每个元素。
推荐阅读
- java - 在 Java 编程期间,NetBeans 上的“编译文件”和大多数其他按钮都是灰色的
- cron - 每小时和 X 分钟运行一次 cron 作业
- php - Html 表单重定向到另一个页面而不将数据插入数据库
- laravel - 我是 Windows 用户,在安装 laravel 时出现错误。我尝试重新安装作曲家并再次安装,但没有任何效果
- java - 如何加密 SqlLite 数据库/表并将其保存到内部存储以供以后使用
- python - BeautifulSoup4(解析)和“查找”:为什么有些标签可以“找到”而有些标签不能“找到”?
- d3.js - 如何将 d3 图表放入我的 chartBox?
- r-markdown - 在 pdf markdown 中手动放置参考书目
- javascript - 如何使用 PHP 缩小 JavaScript 包含在 PhpStorm 中?
- database - 在 Power BI 服务中创建和使用参数来可视化变量