Python -Kugel rekursiv

Python -Kugel rekursiv
Glob ist ein übergreifendes Wort, das viele Strategien beschreibt, die verwendet werden können, um bestimmte Muster gemäß den Richtlinien zu entsprechen, die mit der Unix -Shell verbunden sind. Sowohl Linux als auch Unix verfügen.

Das Glob -Modul in Python kann verwendet werden, um die Dateien und Pfadnamen zu erhalten, die einem angegebenen Muster entsprechen. Die Musterregeln für GLOB halten sich an den Standard, der von UNIX für die Pfadausdehnung festgelegt ist. Darüber hinaus wird pro Benchmark erwartet, dass es schneller sein wird als vorhandene Ansätze, um die Pathnames in den Verzeichnissen zu entsprechen. Neben der Suche nach einer genauen Zeichenfolge können wir die Platzhalter verwenden („*,?, [Bereiche]) mit einem Globus, um den Prozess des Pfadabrufs unkomplizierter und benutzerfreundlicher zu gestalten.

Wenn Sie den folgenden Artikel lesen, erhalten Sie einen Überblick über die Glob () -Funktion, die ein nützliches Tool zum Auffinden von Dateien über Python -Code ist.

Die Syntax für Glob () -Methode lautet:

Glob.Glob (Path_Name, *, rekursiv = false)

Hinweis: Der rekursive Wert wird standardmäßig auf False eingestellt.

Beispiel 1: Verwenden der kugelrekursiven Methode in einem Python -Programm, um den Namen und die Quelle der ersten 10 Dateien im angegebenen Verzeichnis zu drucken

In diesem Beispiel werden wir den Wild Card-Bereich [0-9] verwenden, um alle Dateien zu lokalisieren, deren Namen eine Nummer oder eine Ziffer vor der Erweiterung enthalten. Der Zeichenbereich [0-9] entspricht einer einzelnen Ziffer. Der Armaturenbrett repräsentiert einen ununterbrochenen Umfang aufeinanderfolgender Zeichen, die nach dem Zeichencode für jeden Buchstaben/jede Ziffer angeordnet sind. Das Zeichen [0123456789] ist eine weitere Möglichkeit, denselben Bereichswert zu schreiben.

Im bereitgestellten Code importieren wir das Glob -Modul zuerst, um seine Methoden zu verwenden. In der nächsten Zeile wird eine für die Schleife in dem Ordner durchquert, der mit Glob mit der Wild Card, [0-9], angegeben hat, [0-9]. Da wir nicht angegeben haben, ob die Schleife rekursiv ist oder nicht, wird sie standardmäßig nicht rekursiv. In der für Schleife drucken wir alle Elemente des Ordners. Es druckt nur die Dateien mit einer Ziffer oder Nummer vor der Erweiterung, wie im folgenden Screenshot gezeigt:

Beispiel 2: Verwenden der kugel rekursiv

Wir werden sehen, was passiert, wenn in diesem Beispiel keine Wildkarten verwendet werden.

Im folgenden Code wird das Glob -Modul zuerst importiert. In der nächsten Zeile wird eine für die Schleife mit einem Dateipfad entlang der GLOB durchquert. Bitte beachten Sie, dass der Pfad in diesem Fall der Datei ist, im Gegensatz zum Ordner im vorherigen Fall. Dies bedeutet, dass es nur ein Element gibt, das mit der Kugel übereinstimmt. Und wie wir sehen können, wird keine Wild Card verwendet; Es hat nichts zu vergleichen. Infolgedessen wird die angegebene Datei zurückgegeben, die am folgenden Screenshot am Ausgangsterminal zu sehen ist:

Beispiel 3: Verwenden der glob -rekursiven Methode in einem Python -Programm, um den Namen und die Quelle aller in dem angegebenen Verzeichnis vorhandenen Dateien zu drucken

In diesem Beispiel werden wir die Asterisk "*" Wild Card verwenden und sehen, was sie zurückgibt.

In dem bereitgestellten Code wird das erste Glob -Modul importiert, um seine Methoden in unserem Code zu verwenden. In der nächsten Zeile wird eine für die Schleife in Glob mit einem angegebenen Ordnerpfad von „Desktop“ durchquert. Das Muster entspricht jedem Pfadnamen (Datei oder Verzeichnis) im Verzeichnis „Desktop“, tritt jedoch nicht weiter auf. Es druckt alle Elemente oder Dateien im Ordner, wenn es mit Nullzeichen übereinstimmt. Dies wird im folgenden Screenshot angezeigt:

Beispiel 4: Verwenden der kugel rekursiv

Eine weitere Wildkarte, die von Glob unterstützt wird, ist “?”. In dieser Position entspricht dies jedem einzelnen Element im Namen.

In diesem Beispiel wird das Glob -Modul zuerst importiert. In der nächsten Zeile wird eine für die Schleife in GLIB mit einem Dateipfad überquert, um einen beliebigen Dateinamen im Desktop -Ordner zu entsprechen, der mit „Zufall“ beginnt, ein zusätzliches Zeichen jeglicher Art enthält, ob es sich endet mit “.Text". Da keine Datei diese Kriterien erfüllt, wird am Ausgangsanschluss nichts angezeigt, wie im folgenden Screenshot gezeigt:

Beispiel 5: Verwenden der kugelrekursiven Methode in einem Python -Programm, um den Namen und die Quelle aller in dem angegebenen Verzeichnis vorhandenen Dateien mit einem Doppelsternchen im Pfad zusammen mit dem rekursiven Parameter als True zu drucken

In diesem Beispiel werden wir etwas über einen anderen Wild Card -Gebrauch mit GLOB erfahren. Es ist ein doppelter Sternchen "**". Dadurch kann das Programm rekursiv mit Null oder mehr Unterverzeichnissen des aktuellen Verzeichnisses übereinstimmen.

Im ersten Schritt wird das Glob -Modul importiert. Dann der „Glob.Glob ”-Methode ist für einen Ordnerpfad mit einem doppelten Sternchen„ ** “Wild Card und rekursiv = true erforderlich. Auf diese Weise kann das Programm rekursiv mit Null oder mehr Unterverzeichnissen des aktuellen Verzeichnisses übereinstimmen und die Liste der Dateien in der Variablen mit dem Namen „F“ speichern. In der nächsten Zeile wird A for Loop entlang der Liste der Dateien in „F“ durchquert und am Ausgangsanschluss unter Verwendung des Druckbefehls angezeigt, wie im folgenden Screenshot gezeigt:

Beispiel 6: Verwenden der Glob Iglob Rekursivfunktion in einem Python -Programm, um den Namen und die Quelle aller in dem angegebenen Verzeichnis vorhandenen Dateien mit einem Doppel -Sternchen im Pfad zusammen mit dem rekursiven Parameter als True zu ermitteln

In diesem Fall werden wir den identischen Trick ausführen, den wir im vorherigen gemacht haben. Aber anstatt Glob zu verwenden.Glob, wir werden die Glob benutzen.Iglob (). Die Syntax für „Glob.Iglob ”ist der gleiche wie ein Global.Glob: Glob.Iglob (Pathname, rekursiv = Falsch). Außer dass es einen Iterator erzeugt, was bedeutet, dass nicht alle Elemente im Speicher gespeichert werden. Daher kann es weitaus effizienter verwendet werden.

Im ersten Schritt wird das Glob -Modul importiert. Dann der „Glob.Glob ”-Methode ist für einen Ordnerpfad mit einem doppelten Sternchen„ ** “Wild Card und rekursiv = true erforderlich. Dadurch kann das Programm rekursiv mit Null oder mehr Unterverzeichnissen des aktuellen Verzeichnisses übereinstimmen. Diesmal wird keine Liste in einer Variablen gespeichert. In der nächsten Zeile wird die For -Loop mit einem Zeiger entlang des Iglob -Pfades durchquert und am Ausgangsanschluss unter Verwendung des Druckbefehls in jeder Schleife angezeigt, wie im folgenden Screenshot gezeigt:

Abschluss

Glob () und Iglob () sind zwei wichtige Funktionen, die entweder linear oder rekursiv auf dem Wert des zweiten Parameters durch den Pfad itererieren, der wahr oder falsch sein könnte. Python hat als Methode so effektiver gemacht, was es weitaus wertvoller macht als jeder andere manuelle Ansatz. Hoffentlich hat dieser Artikel Ihnen geholfen zu verstehen, wie diese Funktionen mit ihren verschiedenen Wildkarten funktionieren und wie es unser Leben einfach macht.