So verwenden Sie das Glob-Modul von Python, um Dateien nach Mustern zu finden

Das Modul glob in Python ist ein leistungsstarkes Tool zum Auffinden von Dateien und Verzeichnissen, die einem bestimmten Muster entsprechen. Es ist besonders nützlich, wenn Sie in einem Verzeichnis nach Dateien mit bestimmten Erweiterungen oder Namen suchen müssen. Dieser Artikel führt Sie durch die Verwendung des Moduls glob zum effizienten Auffinden von Dateien.

Einführung in das Modul glob

Das Modul glob bietet eine Möglichkeit, Dateien und Verzeichnisse mit Platzhaltern im Unix-Shell-Stil aufzulisten. Dies ist nützlich für Aufgaben wie Dateisuche, Stapelverarbeitung und mehr. Das Modul enthält Funktionen, mit denen Sie Dateinamen mit Mustern abgleichen können, was die Dateiverwaltung vereinfacht.

Grundlegende Verwendung von glob

Um das Modul glob zu verwenden, müssen Sie es importieren und dann die Funktion glob.glob() verwenden, um Dateien zu finden, die einem Muster entsprechen. Die von Ihnen verwendeten Muster können Platzhalter wie * (entspricht einer beliebigen Anzahl von Zeichen) und ? (entspricht einem einzelnen Zeichen) enthalten.

Beispiele

Suchen nach Dateien mit einer bestimmten Erweiterung

Um beispielsweise alle Dateien mit der Erweiterung .txt in einem Verzeichnis zu finden, können Sie Folgendes verwenden:

import glob

# Find all .txt files in the current directory
txt_files = glob.glob('*.txt')
print(txt_files)

Suchen nach Dateien in einem Unterverzeichnis

Um alle Dateien mit einer bestimmten Erweiterung in einem Unterverzeichnis zu finden, geben Sie das Unterverzeichnis im Muster an:

import glob

# Find all .jpg files in the 'images' subdirectory
jpg_files = glob.glob('images/*.jpg')
print(jpg_files)

Platzhalter verwenden

Platzhalter können Ihnen dabei helfen, einen größeren Bereich von Dateien abzugleichen. So finden Sie beispielsweise alle Textdateien, die mit "report" beginnen:

import glob

# Find all files starting with 'report' and ending with .txt
report_files = glob.glob('report*.txt')
print(report_files)

Suchen nach Dateien mit mehreren Erweiterungen

Sie können glob auch verwenden, um Dateien mit mehreren Erweiterungen zu finden, indem Sie ein Muster verwenden, das mehrere Platzhalterübereinstimmungen enthält:

import glob

# Find all .txt and .md files
files = glob.glob('*.txt') + glob.glob('*.md')
print(files)

Erweiterte Nutzung

Zusätzlich zu einfachen Mustern unterstützt das Modul glob auch komplexere Muster. Sie können beispielsweise Muster wie ** verwenden, um Verzeichnisse rekursiv zu durchsuchen.

Rekursive Suche

Um rekursiv in allen Unterverzeichnissen nach Dateien zu suchen, verwenden Sie das Muster ** zusammen mit dem Argument recursive=True:

import glob

# Find all .py files in the current directory and subdirectories
py_files = glob.glob('**/*.py', recursive=True)
print(py_files)

Abschluss

Das Modul glob ist ein wichtiges Tool zur Verwaltung von Dateien in Python, mit dem Sie ganz einfach anhand von Mustern nach Dateien suchen können. Egal, ob Sie mit bestimmten Dateitypen arbeiten, Verzeichnisse durchsuchen oder komplexe Suchvorgänge durchführen, glob bietet eine einfache und effektive Lösung.