我想在文本文件中查找与存储在名为 items 的现有列表中的单词相匹配的单词,该列表是在上一个函数中创建的,我也希望能够在下一个函数中使用该列表,但我不确定如何为此,我尝试使用类来实现这一点,但我无法做到正确。我无法弄清楚其余代码的问题是什么。我尝试在没有类和列表的情况下运行它,并将第 8 行中的列表“items[]”替换为正在打开的文本文件中的一个单词,但它仍然没有执行任何操作,即使没有出现错误。当运行下面的代码时,它会打印出:“请输入有效的文本文件名:”并在那里停止。
class searchtext():
textfile = input("Please entre a valid textfile name: ")
items = []
def __init__search(self):
with open("textfile") as openfile:
for line in openfile:
for part in line.split():
if ("items[]=") in part:
print (part)
else:
print("not found")
该列表是从另一个文本文件创建的,其中包含先前函数中的单词,看起来像这样,并且它应该按预期工作,如果有任何帮助的话:
def createlist():
items = []
with open('words.txt') as input:
for line in input:
items.extend(line.strip().split(','))
return items
print(createlist())
您可以通过以下方式使用正则表达式:
>>> import re
>>> words=['car','red','woman','day','boston']
>>> word_exp='|'.join(words)
>>> re.findall(word_exp,'the red car driven by the woman',re.M)
['red', 'car', 'woman']
第二个命令创建一个由“|”分隔的可接受单词的列表。要在文件上运行此命令,只需将“the red car开车的女人”中的字符串替换为open(your_file,'r').read()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)