Das Suchen von Dateien in Python kann eine Herausforderung sein, wenn der Speicherort der Datei auf verschiedenen Systemen unterschiedlich ist. Glücklicherweise bietet Python das Modul os.walk, mit dem Sie mühelos Verzeichnisse durchsuchen und Dateien finden können.
os.walk für die Dateisuche
os.walk erstellt einen Generator Objekt, das ein Verzeichnis und seine Unterverzeichnisse durchläuft und für jede Iteration drei Tupel ergibt:
Eine einzelne Datei suchen
Zu finden Beim ersten Vorkommen einer bestimmten Datei iterieren Sie einfach über die erhaltenen Tupel und prüfen, ob der Dateiname in der Liste der Dateien enthalten ist:
<code class="python">import os def find(name, path): for root, dirs, files in os.walk(path): if name in files: return os.path.join(root, name)</code>
Alle Vorkommen einer Datei finden
Um alle Vorkommen einer Datei zu finden, erstellen Sie eine Liste zum Speichern der Übereinstimmungen:
<code class="python">def find_all(name, path): result = [] for root, dirs, files in os.walk(path): if name in files: result.append(os.path.join(root, name)) return result</code>
Übereinstimmende Dateimuster
Um nach übereinstimmenden Dateien zu suchen Um ein Muster zu erstellen, verwenden Sie das fnmatch-Modul:
<code class="python">import os, fnmatch def find(pattern, path): result = [] for root, dirs, files in os.walk(path): for name in files: if fnmatch.fnmatch(name, pattern): result.append(os.path.join(root, name)) return result find('*.txt', '/path/to/dir')</code>
Das obige ist der detaillierte Inhalt vonWie kann ich mit Python effizient nach Dateien in mehreren Verzeichnissen suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!