我正在使用Python,并且我试图找出一个单词是否在文本文件中。我正在使用此代码,但它始终打印未找到的单词",我认为在这种情况下存在一些逻辑错误,如果您可以更正此代码,请有人请:
file = open("search.txt")
print(file.read())
search_word = input("enter a word you want to search in file: ")
if(search_word == file):
print("word found")
else:
print("word not found")
答案 0 :(得分:4)
更好的是,您应该习惯在打开文件时使用with
,这样当您完成文件时它会自动关闭。但主要的是使用in
来搜索另一个字符串中的字符串。
with open('search.txt') as file:
contents = file.read()
search_word = input("enter a word you want to search in file: ")
if search_word in contents:
print ('word found')
else:
print ('word not found')
答案 1 :(得分:2)
以前,您正在搜索文件变量,该文件变量已打开(" search.txt")'因为你的文件中没有,所以你找不到单词。
您还询问搜索词是否完全匹配'打开(" search.txt")'因为==。不要使用==,在"中使用"代替。尝试:
EventEmitter
答案 2 :(得分:1)
其他选择,您可以在阅读文件时search
:
search_word = input("enter a word you want to search in file: ")
if search_word in open('search.txt').read():
print("word found")
else:
print("word not found")
要减轻可能的内存问题,请使用此处related question
所述的mmap.mmap()