Python ist eine der am weitesten verbreiteten Allzweck-Programmiersprachen der letzten Zeit. Sie bietet viele eingebaute 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. Auch Python bietet ein eingebautes glob-Modul, um auf Dateien und Pfadnamen zuzugreifen, die mit einem bestimmten Muster übereinstimmen, oder diese abzurufen. Wir werden die Python-Funktion glob() des glob-Moduls für die in diesem Artikel beschriebenen Aufgaben verwenden. In diesem Artikel wird erklärt, wie man die Funktion glob() verwendet, um Pfad- und Dateinamen nach einem bestimmten Muster zu finden.
- Beispiel 1: Abgleich von Dateinamen oder Pfadnamen mit absolutem Pfad
- Beispiel 2: Verwendung von Platzhaltern für die Pfadsuche
- Verwendung eines Sterns (*) als Platzhalter für die Pfadsuche
- Verwendung eines Fragezeichen (?)-Platzhalteroperators
- Verwenden eines Bereichsplatzhalter-Operators
- Dateien rekursiv mit glob()
- Abschluss
Beispiel 1: Abgleich von Dateinamen oder Pfadnamen mit absolutem Pfad
Lassen Sie uns einige Beispiele betrachten, um die Funktionsweise und den Einsatz der Funktion glob() zu verstehen. Wir beginnen mit einem einfachen Beispiel für den Abgleich des Dateinamens oder Pfadnamens mit dem absoluten Pfad. Wenn der Dateiname oder Pfadname mit dem absoluten Pfad übereinstimmt, gibt die Funktion glob() die Übereinstimmungen in Form einer Liste zurück; andernfalls gibt die Funktion glob() eine leere Liste zurück.
import glob
#Verwenden der glob-Funktion, um den Pfadnamen mit dem absoluten Pfad abzugleichen
#Übereinstimmender absoluter Pfad des Downloads-Verzeichnisses
print(glob.glob(“/home/linuxhint/Downloads”))
#Übereinstimmender absoluter Pfad des Dokumente-Verzeichnisses
print(glob.glob(“/home/linuxhint/Documents”))
#absoluter Pfad des Desktop
print(glob.glob(“/home/linuxhint/Desktop”))
#absoluter Pfad der Dateien
print(glob.glob(“/home/linuxhint/Desktop/script.sh”))
print(glob.glob(“/home/linuxhint/Downloads/format.py”))
print(glob.glob(“/home/linuxhint/Documents/calculator.py”))
#Pfad einer Datei angeben, die nicht existiert
#die glob-Funktion gibt eine leere Liste zurück
print(glob.glob(“/home/linuxhint/Documents/myfile.py”))
Ausgabe
Die Ausgabe zeigt die Übereinstimmungen.
Beispiel 2: Verwendung von Platzhaltern für die Pfadsuche
Es ist möglich, Platzhalter mit der Funktion glob() für die Pfadsuche zu verwenden. Die am häufigsten verwendeten Platzhalter sind das Sternchen (*), das Fragezeichen (?), der Zahlenbereich und der Alphabetbereich. Zunächst wird die Verwendung des Sterns in der Funktion glob() erörtert.
Verwendung eines Sterns (*) als Platzhalter für die Pfadsuche
Der Platzhalter-Operator Stern wird verwendet, um null oder mehr Zeichen des absoluten Pfades zu finden. Wenn keine Zeichen mit dem Sternchen angegeben werden, listet die Funktion den absoluten Pfad aller Dateien, Verzeichnisse und Unterverzeichnisse des angegebenen Pfads auf. Sie können auch einige Zeichen mit dem Sternchen eingeben und die Funktion wird den absoluten Pfad auf der Grundlage der angegebenen Zeichen finden. Wenn Sie zum Beispiel den absoluten Pfad von .txt-Dateien finden müssen, dann kann * als Platzhalter für *.txt verwendet werden.
Wir werden dies in unserem Python-Skript implementieren.
import glob
#finding the absolute path of the files and directories
print(glob.glob(“/home/linuxhint/Downloads/*”))
print(“—————————————-“)
#Finden des absoluten Pfades der .txt-Dateien im Desktop-Verzeichnis
print(glob.glob(“/home/linuxhint/Desktop/*.txt”))
print(“—————————————-“)
#Finden des absoluten Pfades der .sh-Dateien im Verzeichnis Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.sh”))
print(“—————————————-“)
#Finden des absoluten Pfades der .py-Dateien im Verzeichnis Documents
print(glob.glob(“/home/linuxhint/Documents/*.py”))
print(“—————————————-“)
Ausgabe
Die Ausgabe zeigt den absoluten Pfad der Dateien und Verzeichnisse gemäß den in der Funktion globe() definierten Regeln.
Verwendung eines Fragezeichen (?)-Platzhalteroperators
Der Fragezeichen (?)-Platzhalteroperator wird verwendet, um ein einzelnes Zeichen zu finden. Dies kann in Situationen nützlich sein, in denen man ein einzelnes Zeichen im gegebenen Namen nicht kennt.
Wir werden dies in unserem Python-Skript implementieren.
import glob
#Finden der Datei mit dem *-Platzhalteroperator
print(glob.glob(“/home/linuxhint/Desktop/file?.txt”))
Ausgabe
Die Ausgabe zeigt die übereinstimmenden Dateien an.
Verwenden eines Bereichsplatzhalter-Operators
Der Bereichsplatzhalter-Operator wird verwendet, um Dateien in einem bestimmten Bereich von Zeichen oder Zahlen zu finden. Der Bereich wird innerhalb eckiger Klammern definiert.
Wir werden den absoluten Pfad von Dateien finden, indem wir den Bereich definieren.
import glob
#finding the absolute path of the files in a given range
#defining the range in characters
print(glob.glob(“/home/linuxhint/Desktop/*”))
#Drucken der gepunkteten Linie zur Unterscheidung der Ausgabe
print(“——————————————“)
#Definieren des Bereichs in Zahlen
print(glob.glob(“/home/linuxhint/Desktop/*”))
Ausgabe
Dateien rekursiv mit glob()
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” eingestellt. Sie können jedoch die rekursive Eigenschaft auf “true” setzen, um den Dateipfad rekursiv zu finden.
Wir werden die rekursive Eigenschaft in unserem Python-Skript auf “true” setzen und den absoluten Pfad der Dateien rekursiv finden.
import glob
#Finden der Dateien rekursiv
print(glob.glob(“/home/linuxhint/Documents/*”,recursive=True))
Ausgabe
Abschluss
Glob ist ein allgemeiner Begriff, der sich auf Techniken bezieht, die verwendet werden, um bestimmte Muster nach UNIX-Shell-bezogenen Regeln zu finden. Python bietet ein eingebautes glob-Modul und eine Funktion zum Zugriff auf Pfadnamen nach bestimmten Regeln. Dieser Artikel erklärt anhand verschiedener Beispiele, wie die Funktion glob() zum Auffinden von Pfadnamen verwendet werden kann.