Python Glob Functie

Python is een van de meest gebruikte algemene programmeertalen van de laatste tijd. Het biedt vele ingebouwde modules, functies, en sleutelwoorden om bestand-gerelateerde taken uit te voeren. Een glob is een term die verwijst naar de technieken die worden gebruikt om bepaalde patronen te matchen volgens UNIX-shell-gerelateerde regels. Linux- en UNIX-gebaseerde besturingssystemen bieden de glob() functie om bestanden en mappen te vinden volgens een bepaald patroon. Python biedt ook een ingebouwde glob-module om bestanden en padnamen te openen of op te halen die overeenkomen met een opgegeven patroon. We zullen de Python glob() functie van de glob module gebruiken voor de taken die in dit artikel beschreven worden. Dit artikel legt uit hoe je de glob() functie kunt gebruiken om padnamen en bestandsnamen te vinden volgens een gegeven patroon.

Example 1: Match Filename or Pathname with Absolute Path

Laten we eens kijken naar een paar voorbeelden om de werking en het functioneren van de glob() functie te begrijpen. We zullen beginnen met een eenvoudig voorbeeld van het matchen van de bestandsnaam of padnaam met het absolute pad. Als de bestandsnaam of padnaam overeenkomt met het absolute pad, dan geeft de glob() functie overeenkomsten terug in de vorm van een lijst; zo niet, dan geeft de glob() functie een lege lijst terug.

#importeren van de module glob
importeren glob
#gebruiken van de functie glob om de padnaam te vergelijken met het absolute pad
#overeenkomend met het absolute pad van de map downloads
print(glob.glob(“/home/linuxhint/Downloads”))
#overeenkomend met het absolute pad van de map documenten
print(glob.glob(“/home/linuxhint/Documenten”))
#uitdrukking(glob.glob(“/home/linuxhint/Desktop”))
#uitdrukking(glob.glob(“/home/linuxhint/Desktop”))
#uitdrukking(glob.glob(“/home/linuxhint/Downloads/format.py”))
print(glob.glob(“/home/linuxhint/Documents/calculator.py”))
#specifiek pad van bestand dat niet bestaat
#de glob-functie zal de lege lijst retourneren
print(glob.glob(“/home/linuxhint/Documents/myfile.py”))

Uitvoer

De uitvoer toont de overeenkomsten.

Voorbeeld 2: Wildcards gebruiken voor het ophalen van paden

Het is mogelijk om wildcards te gebruiken met de glob() functie voor het ophalen van paden. De meest gebruikte jokertekens zijn het sterretje (*), vraagteken (?), getallenbereik , en alfabettenbereik . Eerst zullen we het gebruik van de asterisk in de glob() functie bespreken.

Een asterisk (*) jokerteken gebruiken voor het ophalen van paden

De asterisk jokerteken operator wordt gebruikt om met nul of meer tekens van het absolute pad overeen te komen. Indien geen karakter(s) worden opgegeven met het sterretje, dan zal de functie het absolute pad van alle bestanden, directories, en subdirectories van het opgegeven pad opsommen. U kunt ook enkele tekens met de asterisk schrijven en de functie zal het absolute pad overeenkomen op basis van de gegeven tekens. Als u bijvoorbeeld het absolute pad van .txt-bestanden moet vinden, dan kan het jokerteken * worden gebruikt als *.txt.

We zullen dit in ons Python-script implementeren.

#importeren van de module glob
importeren glob
#zoeken naar het absolute pad van de bestanden en mappen
print(glob.glob(“/home/linuxhint/Downloads/*”))
print(“—————————————-“)
#het absolute pad vinden van de .txt-bestanden in de map Bureaublad
print(glob.glob(“/home/linuxhint/Desktop/*.txt”))
print(“—————————————-“)
#het absolute pad vinden van de .sh-bestanden in de map Bureaublad
print(glob.glob(“/home/linuxhint/Desktop/*.sh”))
print(“—————————————-“)
#zoeken naar het absolute pad van de .py-bestanden in de map Documenten
print(glob.glob(“/home/linuxhint/Documents/*.py”))
print(“—————————————-“)

Uitvoer

De uitvoer toont het absolute pad van de bestanden en mappen volgens de gedefinieerde regels in de functie globe().

Een vraagteken (?) jokerteken-operator gebruiken

Het vraagteken (?) jokerteken-operator wordt gebruikt om met een enkel teken overeen te komen. Dit kan handig zijn in situaties waarin u niet op de hoogte bent van een enkel teken in de opgegeven naam.

We zullen dit implementeren in ons Python-script.

#importeren van de glob-module
importeren glob
#zoeken naar het bestand met de * jokertekenoperator
print(glob.glob(“/home/linuxhint/Desktop/file?.txt”))

Uitvoer

De uitvoer toont de gematchte bestanden.

Gebruik van een Range Wildcard Operator

De range wildcard operator wordt gebruikt om bestanden in een gegeven bereik van tekens of getallen te matchen. Het bereik wordt gedefinieerd tussen vierkante haken.

We zullen het absolute pad van bestanden vinden door het bereik te definiëren.

#importeren van de module glob
importeren glob
#zoeken naar het absolute pad van de bestanden in een gegeven bereik
#definiëren van het bereik in tekens
print(glob.glob(“/home/linuxhint/Desktop/*”))
#afdrukken van de stippellijn om de uitvoer te differentiëren
print(“——————————————“)
#definiëren van het bereik in getallen
print(glob.glob(“/home/linuxhint/Desktop/*”))

Uitvoer

Bestanden recursief zoeken met glob()

De functie glob neemt twee parameters als argument. De eerste parameter definieert de padnaam, en de tweede parameter definieert de recursieve eigenschap. De tweede parameter is optioneel, en de recursieve eigenschap is standaard ingesteld op “false”. U kunt de recursieve eigenschap echter op “true” zetten om het bestandspad recursief te vinden.

We zetten de recursieve eigenschap gelijk aan “true” in ons Python-script en zoeken het absolute pad van de bestanden recursief.

#importeren van de module glob
importeren glob
#de bestanden recursief vinden
print(glob.glob(“/home/linuxhint/Documents/*”,recursive=True))

Uitvoer

Conclusie

Glob is een algemene term die verwijst naar technieken die worden gebruikt om bepaalde patronen te matchen volgens UNIX-shell-gerelateerde regels. Python biedt een ingebouwde glob module en functie om toegang te krijgen tot padnamen volgens gegeven regels. Dit artikel legt uit hoe je de glob() functie kunt gebruiken om padnamen te vinden met verschillende voorbeelden.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.