Die bisherigen Antworten behandelt Ihr unmittelbares Problem: Statt einer Zeile nach einem Wort suchen. Sie haben jedoch ein schwierigeres Problem angedeutet: Suche nach Schlüssel Worten. Ich folge, dass wenn Sie "Ich habe ein schnelles Auto" eingeben, Sie die allgemeinen Wörter ignorieren und nur auf "schnell" und "Auto" suchen möchten.
Dies ist kein triviales Problem in der Verarbeitung natürlicher Sprache (NLP). Einige Wörter sind in einigen Kontexten üblich, aber in anderen signifikant. Um das Problem zu vereinfachen, haben viele Anwendungen eine Liste von "Stopp" -Wörtern: diejenigen, die als zu trivial angesehen werden, um sie als Schlüsselwörter zu verwenden. Dies verwandelt Ihre Lösung in etwas wie diese, die @ Aperos Code ändert:
search = input("Enter search text: ").split()
-- Remove trivial words from search list; add your own words to this.
stop_word = ["a", "an", "the", "am", "is", "are", "have", "has"]
search = [word not in stop_word for word in search]
with open("file.txt", "r") as f:
for line in f:
if any(word in line for word in search):
print ("found" + line)
wow, wir haben den gleichen Gedanken! – haifzhan