Python

Python-Glob-Funktion

Python-Glob-Funktion

Python ist eine der am weitesten verbreiteten universellen Programmiersprachen der letzten Zeit. Es bietet viele integrierte Module, Funktionen und Schlüsselwörter, um dateibezogene Aufgaben auszuführen. Ein Glob ist ein Begriff, der sich auf die Techniken bezieht, die verwendet werden, um bestimmte Muster gemäß den Regeln der UNIX-Shell abzugleichen. Linux- und UNIX-basierte Betriebssysteme bieten die Funktion glob(), um Dateien und Verzeichnisse nach einem bestimmten Muster zu finden. Python bietet auch ein integriertes glob-Modul, um auf Dateien und Pfadnamen zuzugreifen oder diese abzurufen, die einem bestimmten Muster entsprechen. Wir verwenden die Python-Funktion glob() des glob-Moduls für die in diesem Artikel beschriebenen Aufgaben. Dieser Artikel erklärt, wie Sie die Funktion glob() verwenden, um Pfadnamen und Dateinamen nach einem bestimmten Muster zu finden.

Beispiel 1: Dateiname oder Pfadname mit absolutem Pfad abgleichen

Schauen wir uns ein paar Beispiele an, um die Funktionsweise und Arbeitsweise der Funktion glob() zu verstehen. Wir beginnen mit einem einfachen Beispiel für den Abgleich des Datei- oder Pfadnamens mit dem absoluten Pfad. Wenn der Datei- oder Pfadname mit dem absoluten Pfad übereinstimmt, gibt die Funktion glob() Übereinstimmungen in Form einer Liste zurück; andernfalls gibt die Funktion glob() eine leere Liste zurück.

#Importieren des Glob-Moduls
Globus importieren
#Verwenden der Glob-Funktion, um den Pfadnamen mit dem absoluten Pfad abzugleichen
#übereinstimmender absoluter Pfad des Download-Verzeichnisses
drucken (globus.glob("/home/linuxhint/Downloads"))
#übereinstimmender absoluter Pfad des Dokumentenverzeichnisses
drucken (globus.glob("/home/linuxhint/Dokumente"))
#übereinstimmender absoluter Pfad von Desktop
drucken (globus.glob("/home/linuxhint/Desktop"))
#übereinstimmender absoluter Dateipfad
drucken (globus.glob("/home/linuxhint/Desktop/script.Sch"))
drucken (globus.glob("/home/linuxhint/Downloads/format.py"))
drucken (globus.glob("/home/linuxhint/Dokumente/Rechner.py"))
#Pfad der Datei angeben, die nicht existiert
#die glob-Funktion gibt die leere Liste zurück
drucken (globus.glob("/home/linuxhint/Documents/myfile.py"))

Ausgabe

Die Ausgabe zeigt die Übereinstimmungen.

Beispiel 2: Verwenden von Platzhaltern für den Pfadabruf

Es ist möglich, Platzhalter mit der Funktion glob() zum Abrufen von Pfaden zu verwenden. Die am häufigsten verwendeten Platzhalter sind das Sternchen (*), das Fragezeichen (?), Zahlenbereich [0-9] und Alphabetbereich [a-z].  Zuerst besprechen wir die Verwendung des Sternchens in der Funktion glob().

Verwenden eines Asterisk (*)-Platzhalters für den Pfadabruf

Der Platzhalter-Operator Stern wird verwendet, um null oder mehr Zeichen des absoluten Pfads abzugleichen. Wenn kein Zeichen mit dem Sternchen angegeben ist, listet die Funktion den absoluten Pfad aller Dateien, Verzeichnisse und Unterverzeichnisse des angegebenen Pfads auf. Sie können auch einige Zeichen mit dem Sternchen schreiben und es entspricht dem absoluten Pfad basierend auf den angegebenen Zeichen. Wenn Sie beispielsweise den absoluten Pfad von .txt-Dateien, dann kann * Platzhalter als * verwendet werden.TXT.

Wir werden dies in unserem Python-Skript implementieren.

#Importieren des Glob-Moduls
Globus importieren
#den absoluten Pfad der Dateien und Verzeichnisse finden
drucken (globus.glob("/home/linuxhint/Downloads/*"))
drucken("----------------------------------------")
#den absoluten Weg der finden .txt-Dateien im Desktop-Verzeichnis
drucken (globus.glob("/home/linuxhint/Desktop/*.TXT"))
drucken("----------------------------------------")
#den absoluten Weg der finden .sh-Dateien im Desktop-Verzeichnis
drucken (globus.glob("/home/linuxhint/Desktop/*.Sch"))
drucken("----------------------------------------")
#den absoluten Weg der finden .py-Dateien im Documents-Verzeichnis
drucken (globus.glob("/home/linuxhint/Dokumente/*.py"))
drucken("----------------------------------------")

Ausgabe

Die Ausgabe zeigt den absoluten Pfad der Dateien und Verzeichnisse nach definierten Regeln in der Funktion globe().

Verwenden eines Fragezeichens (?) Wildcard-Betreiber

Das Fragezeichen (?) Platzhalter-Operator wird verwendet, um ein einzelnes Zeichen abzugleichen. Dies kann in Situationen nützlich sein, in denen Sie kein einzelnes Zeichen im Vornamen kennen.

Wir werden dies in unserem Python-Skript implementieren.

#Importieren des Glob-Moduls
Globus importieren
#finde die Datei mit dem * Platzhalter-Operator
drucken (globus.glob("/home/linuxhint/Desktop/Datei?.TXT"))

Ausgabe

Die Ausgabe zeigt die übereinstimmenden Dateien.

Verwenden eines Bereichs-Wildcard-Operators

Der Platzhalter-Operator Bereich wird verwendet, um Dateien in einem bestimmten Zeichen- oder Zahlenbereich abzugleichen. Der Bereich wird in eckigen Klammern definiert [].

Wir finden den absoluten Pfad von Dateien, indem wir den Bereich definieren.

#Importieren des Glob-Moduls
Globus importieren
#den absoluten Pfad der Dateien in einem bestimmten Bereich finden
#definieren des Bereichs in Zeichen
drucken (globus.glob("/home/linuxhint/Desktop/[a-f]*"))
#Drucken der gepunkteten Linie, um die Ausgabe zu unterscheiden
drucken("------------------------------------------")
#definiere den Bereich in Zahlen
drucken (globus.glob("/home/linuxhint/Desktop/[1-5]*"))

Ausgabe

Dateien rekursiv mit glob() suchen

Die Funktion glob nimmt zwei Parameter als Argument. Der erste Parameter definiert den Pfadnamen und der zweite Parameter definiert die rekursive Eigenschaft. Der zweite Parameter ist optional und die rekursive Eigenschaft ist standardmäßig auf „false“ gesetzt. Sie können die rekursive Eigenschaft jedoch auf „true“ setzen, um den Dateipfad rekursiv zu finden.

Wir werden die rekursive Eigenschaft in unserem Python-Skript gleich „true“ setzen und den absoluten Pfad der Dateien rekursiv ermitteln.

#Importieren des Glob-Moduls
Globus importieren
#Dateien rekursiv finden
drucken (globus.glob("/home/linuxhint/Documents/*",recursive=True))

Ausgabe

Fazit

Glob ist ein gebräuchlicher Begriff, der sich auf Techniken bezieht, die verwendet werden, um bestimmte Muster gemäß den Regeln der UNIX-Shell abzugleichen. Python bietet ein integriertes glob-Modul und eine Funktion für den Zugriff auf Pfadnamen gemäß vorgegebenen Regeln. In diesem Artikel wird anhand verschiedener Beispiele erklärt, wie Sie die Funktion glob() verwenden, um Pfadnamen zu finden.

So zeigen Sie OSD-Overlay in Vollbild-Linux-Apps und -Spielen an
Das Spielen von Spielen im Vollbildmodus oder die Verwendung von Apps im ablenkungsfreien Vollbildmodus kann Sie von relevanten Systeminformationen ab...
Top 5 Karten zur Spielaufnahme
Wir alle haben Streaming-Gameplays auf YouTube gesehen und geliebt. PewDiePie, Jakesepticye und Markiplier sind nur einige der Top-Gamer, die Millione...
So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...