如何在文本文件中找到字符串,并使用python将其与用户输入进行比较?

2024-10-03 02:48:07 发布

您现在位置: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,', ' ']

Tags: inself列表inputdeitemlesprint
1条回答
网友
1楼 · 发布于 2024-10-03 02:48:07

在我看来,在你的理解列表中,你只有一个小问题!而不是:

item for item in textString

在你的理解范围内,我建议:

item for item in listText

目前,您正在遍历整个文本的每个字符,而不是拆分文档列表中的每个元素。你知道吗

相关问题 更多 >