Ich lerne Python und möchte rekursiv nach einem Schlüsselwort in mehreren Dateien suchen.Python findet eine Zeichenfolge in mehreren Dateien rekursiv und gibt den Dateipfad zurück
Ich habe eine Beispielfunktion, die die *.doc
Erweiterung in einem Verzeichnis finden sollte. Dann sollte die Funktion jede Datei mit dieser Dateierweiterung öffnen und lesen. Wenn ein Schlüsselwort beim Lesen der Datei gefunden wird, sollte die Funktion den Dateipfad identifizieren und drucken.
Andernfalls, wenn das Schlüsselwort nicht gefunden wird, sollte Python fortgesetzt werden.
, das zu tun, ich habe eine Funktion definiert, die zwei Argumente nimmt:
def find_word(extension, word):
# define the path for os.walk
for dname, dirs, files in os.walk('/rootFolder'):
#search for file name in files:
for fname in files:
#define the path of each file
fpath = os.path.join(dname, fname)
#open each file and read it
with open(fpath) as f:
data=f.read()
# if data contains the word
if word in data:
#print the file path of that file
print (fpath)
else:
continue
Könnten Sie mir geben eine Hand diesen Code zu beheben?
Danke,
könnten Sie uns geben, eine Eingabe und eine Ausgabe, was Sie erwarten und wo der Code fehlschlägt? – Whitefret