Python Glob Modul – Glob() Methode

Dieses Tutorial gibt einen Überblick über die Python glob() Methode des glob Moduls. Es enthält mehrere Beispiele, um Klarheit zu schaffen.

In der Regel müssen Programmierer eine Liste von Dateien an einem bestimmten Ort durchsuchen, die meist ein bestimmtes Muster haben. Pythons glob-Modul hat mehrere Funktionen, die bei der Auflistung von Dateien unter einem bestimmten Ordner helfen können. Wir können sie auf der Grundlage von Erweiterungen oder einer bestimmten Zeichenkette als Teil des Dateinamens filtern.

Alle Methoden des Glob-Moduls folgen dem Unix-ähnlichen Mustervergleichsmechanismus und den Regeln. Es erlaubt jedoch nicht die Erweiterung der Tilde (~) und Umgebungsvariablen.

Python Glob()-Methoden

Heute werden wir drei primäre Funktionen des Glob-Moduls besprechen.

glob(file_pattern, recursive = False)

Es ruft die Liste der Dateien ab, die dem angegebenen Muster im Parameter file_pattern entsprechen.

Das file_pattern kann ein absoluter oder relativer Pfad sein. Es kann auch Platzhalter wie „*“ oder „?“ enthalten.

Der rekursive Parameter ist standardmäßig deaktiviert (False). Wenn er auf True steht, werden alle Unterverzeichnisse des aktuellen Verzeichnisses rekursiv durchsucht.

Lassen Sie uns nun einige Beispiele ansehen:

Prüfen Sie das aktuelle Verzeichnis auf Python-Skriptdateien

Der folgende Code prüft nur auf .py-Dateien im aktuellen Verzeichnis.

>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.py

Ein weiterer Beispielcode – Er sucht nach .py Dateien im aktuellen Verzeichnis und in Unterverzeichnissen.

>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pytest_num.pytest_python_in_with_if.pytest_scope.py

Listen Sie Dateien mit einem Muster auf

Wir können ein Pfadnamenmuster angeben, indem wir einige Platzhalter wie ? oder einen Zahlenbereich einfügen. Der folgende Code listet alle Dateien auf, deren Name mit „test“ beginnt, gefolgt von einer Zahl.

>>> for py in glob.glob("test.py"):... print(py)...test1.pytest2.py

Lassen Sie uns ein weiteres Beispiel mit dem Fragezeichen im Muster prüfen.

>>> for py in glob.glob("?????.py"):... print(py)...quiz1.pytest1.pytest2.py

Die obige for-Schleifenanweisung gibt alle .py-Dateien mit fünf Buchstaben aus.

Die folgende Anweisung würde die Namen von Ordnern im aktuellen Arbeitsverzeichnis rekursiv ausgeben.

>>> glob.glob('selenium/**/', recursive=True)

iglob()-Methode | Python Glob

Diese Methode erzeugt ein Python-Generator-Objekt, das verwendet werden kann, um Dateien unter einem bestimmten Verzeichnis aufzulisten. Sie können die next()-Funktion aufrufen, um die Namen der Dateien zu drucken.

Sehen Sie sich den Beispielcode unten an:

>>> gen = glob.iglob("*.py")>>> type(gen)<class 'generator'>>>> for py in gen:... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pyfind_seed.pyfrozen_set.py

escape()-Methode

Sie ermöglicht es, die angegebene Zeichenfolge zu entwerten. Das ist praktisch, um Dateien mit bestimmten Zeichen in ihren Dateinamen zu finden.

Sehen Sie sich die folgenden Beispiele an:

>>> char_seq = "-_#">>> for spcl_char in char_seq:... esc_set = "*" + glob.escape(spcl_char) + "*" + ".py"... for py in (glob.glob(esc_set)):... print(py)...python quiz-classes-2.pypython-class.pypython-lists.pypython-random#num.pypython-set.pypython-tuples.pypython-while_loop.pycopy_file#2.pydecimal_sample.pyfind_seed.pyfrozen-set.py

Must check out – Python to list all files in a directory

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.