Python Glob() -Funktion zum Abgleichen von Pfad-, Verzeichnis- und Dateinamen mit Beispielen

glob ist ein allgemeiner Begriff zur Definition von Techniken zum Abgleichen bestimmter Muster gemäß Regeln im Zusammenhang mit Unix Shell. Linux- und Unix-Systeme und -Shells unterstützen auch glob und bieten auch die Funktion glob() in Systembibliotheken. In diesem Tutorial werden wir glob() Funktionsnutzung in der Programmiersprache Python betrachten.

Um glob() und verwandte Funktionen verwenden zu können, müssen wir das glob -Modul importieren. Beachten Sie, dass glob Modul glob() und andere verwandte Funktionen enthält.

import glob
Glob-Modul importieren

Genaue String-Suche

Wir beginnen wir mit einem einfachen Beispiel. Wir werden sehen, wie man einen genauen String oder Dateinamen mit einem absoluten Pfad abgleicht. In diesem Beispiel listen wir die Datei /home/ismail/poftut.c auf . Wir können unten ein Beispiel sehen, dass die Funktion eine Liste zurückgibt, die Übereinstimmungen enthält.

glob.glob("/home/ismail/poftut.c")
Genaue Zeichenfolgensuche

Platzhalter

Platzhalter ist ein wichtiger Glob-Operator für Glob-Operationen. Platzhalter oder Sternchen wird verwendet, um null oder mehr Zeichen entsprechen. Platzhalter angegeben, dass es Null-Zeichen oder mehrere Zeichen, wo Zeichen nicht wichtig ist. In diesem Beispiel werden wir Dateien mit der Erweiterung .txt abgleichen.

glob.glob("/home/ismail/*.txt")
Platzhalter

Wie wir sehen können, gibt es viele Dateien, die in einer Python-Liste zurückgegeben werden.

Platzhalter bei mehrstufigen Verzeichnissen

Wir können Platzhalter verwenden, um mehrstufige Verzeichnisse anzugeben. Wenn wir Verzeichnisse einer Ebene nach unten nach bestimmten Globs durchsuchen möchten, verwenden wir /*/ . In diesem Beispiel suchen wir nach .txt Dateien in einer Ebene tiefer liegenden Verzeichnissen in /home/ismail . Dies wird auch „glob glob“ genannt, da wir den Modulnamen glob und die Funktion glob verwenden, die vom Glob-Modul bereitgestellt wird.

glob.glob("/home/ismail/*/*.txt")
Platzhalter mit mehrstufigen Verzeichnissen

Platzhalter für einzelne Zeichen

Es gibt ein Fragezeichen, das verwendet wird, um ein einzelnes Zeichen zu finden. Dies kann nützlich sein, wenn wir kein einzelnes Zeichen für den Vornamen kennen. In diesem Beispiel werden wir Dateien mit Dateien abgleichen file?.txt Datei, in der diese übereinstimmen

  • Datei.txt
  • Datei1.txt
  • Datei5.txt
glob.glob("/home/ismail/file?.txt")

Mehrere Zeichen

Glob unterstützt auch alphabetische und numerische Zeichen. Wir können wird verwendet, um den Zeichenbereich zu beenden. Wir können alles, was wir wollen, in eckige Klammern setzen. In diesem Beispiel werden wir Dateien und Ordnernamen mit einem von e,m,p abgleichen .

glob.glob("/home/ismail/*.tx?")
Zeichenbereiche

Nummernbereiche

In einigen Fällen möchten wir den Nummernbereich anpassen. Wir können - dash verwenden, um Start- und Endnummern anzugeben. In diesem Beispiel werden wir 0 bis 9 mit 0-9 . In diesem Beispiel werden wir Datei- und Ordnernamen abgleichen, die Zahlen von 0 bis 9 enthalten.

glob.glob("/home/ismail/**")
Anzahl Bereiche

Alphabet Bereiche

Wir können definieren Sie auch Alphabetbereiche ähnlich wie Nummernbereiche. wir verwenden a-z für Kleinbuchstaben, während A-Z für Großbuchstaben steht. Was ist, wenn wir in einer einzigen Anweisung Klein- und Großbuchstaben abgleichen müssen. Wir können AZ verwenden, um sowohl Klein- als auch Großbuchstaben abzugleichen. In diesem Beispiel werden wir Dateien und Ordnernamen abgleichen, die mit Buchstaben zwischen a und c

glob.glob("/home/ismail/*")
Alphabetbereiche

Rückgabegenerator mit iglob() Mehtod

Im Allgemeinen wird die glob-Methode verwendet, um Dateien für die angegebenen Muster aufzulisten. In einigen Fällen kann das Auflisten und Speichern jedoch mühsam sein. Mit der Funktion iglob() kann also ein Iterator erstellt werden, mit dem die Dateinamen mit der Funktion next() iteriert werden können.

import glob
gen = glob.iglob("*.txt")
for item in gen:
print(item)
Rückgabegenerator mit iglob() Mehtod

Überspringen bestimmter Zeichen mit Escape () Methode

escape() Funktion kann verwendet werden, um zu überspringen oder nicht auflisten einige Dateien diese Namen hat keine Zeichen. Wenn wir beispielsweise die Dateien überspringen möchten, die diese Namen enthalten, - oder _ oder # können wir die escape() -Funktion verwenden, indem wir diese Zeichen bereitstellen.

chars_skip = "-_#"
for char_skip in chars_skip:
esc_set = "*" + glob.escape(char_skip)+ "*" + ".txt"
for txt in (glob.glob(esc_set)):
print(txt)

Schreibe einen Kommentar

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