繁体   English   中英

txt文档中的单词搜索,python

[英]Words Search in a txt document, python

我有这个简单的代码,它读取一个 txt 文件并接受用户的一个词来检查该词是否在 txt 文档中。 看起来这只适用于一个单词。 我必须修改此代码,以便用户可以输入两个或更多单词。 例子; GOING HOME而不仅仅是HOME 请提供任何帮助。

word = input('Enter any word that you want to find in text File :')
f = open("AM30.EB","r")
if word in f.read().split():
    print('Word Found in Text File')
else:
    print('Word not found in Text File')

我不确定这正是您正在寻找的

f = open("AM30.EB","r")

word_list = []

while True:
    word = input('Enter any word that you want to find in text File or 1 to stop entering words :')
    if word == "1": break
    word_list.append(word)

file_list = f.read().split()

for word in word_list:
    if word in file_list:
        print("Found word - {}".format(word))
    

这些是区分大小写的解决方案!

单独查询中的所有单词:

words = input('Enter all words that you want to find in text File: ').split()
f_data = []
with open("AM30.EB", "r") as f:
    f_data = f.read().split()
results = list(map(lambda x: any([y == x for y in f_data]), words))
print("Found ")
for i in range(len(words)): 
    print(f"'{words[i]}'", end="")
    if i < len(words) - 1:
        print("and", end="")
print(f": {all(results)}")

查询中的任何单词:

words = input('Enter any word that you want to find in the text File: ').split()
f_data = []
with open("AM30.EB", "r") as f:
    f_data = f.read().split()
results = list(map(lambda x: any([y == x for y in f_data]), words))
if any(results):
    for i in range(len(words)):
        print(f"Found '{words[i]}': {results[i]}")

查询中的确切短语:

phrase = input('Enter a phrase that you want to find in the text File: ')
f_data = ""
with open("AM30.EB", "r") as f:
    f_data = f.read()
print(f"Found '{phrase}': {f_data.count(phrase) > 0}")

这是区分大小写的,并单独检查每个单词。 不确定这是否是您要找的,但希望对您有所帮助!

file1 = open('file.txt', 'r').read().split()

wordsFoundList = []

userInput = input('Enter any word or words that you want to find in text File :').split()
for word in userInput:
    if word in file1:
        wordsFoundList.append(word)

if len(wordsFoundList) == 0:
    print("No words found in text file")
else:
    print("These words were found in text file: " + str(wordsFoundList))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM