Python Glob-funktion

Python er et af de mest udbredte programmeringssprog til generelle formål i nyere tid. Det indeholder mange indbyggede moduler, funktioner og nøgleord til at udføre filrelaterede opgaver. En glob er et begreb, der henviser til de teknikker, der bruges til at matche bestemte mønstre i henhold til UNIX-shell-relaterede regler. Linux- og UNIX-baserede styresystemer indeholder glob()-funktionen til at finde filer og mapper i henhold til et givet mønster. Python indeholder også et indbygget glob-modul til at få adgang til eller hente filer og stinavne, der passer til et bestemt mønster. Vi vil bruge Python glob()-funktionen i glob-modulet til de opgaver, der er beskrevet i denne artikel. Denne artikel forklarer, hvordan du bruger glob()-funktionen til at finde vejnavne og filnavne i henhold til et givet mønster.

Eksempel 1: Match filnavn eller vejnavn med absolut sti

Lad os se på et par eksempler for at forstå glob()-funktionens funktion og virkemåde. Vi starter med et simpelt eksempel med at matche filnavn eller pathname med den absolutte sti. Hvis filnavnet eller vejnavnet stemmer overens med den absolutte sti, returnerer glob()-funktionen overenskomster i form af en liste; i modsat fald returnerer glob()-funktionen en tom liste.

#import af glob-modulet
import af glob
#brug af glob-funktionen til at matche et pathname med den absolutte sti
#matchning af den absolutte sti til download-mappen
print(glob.glob(“/home/linuxhint/Downloads”))
#matchning af den absolutte sti til dokumentmappen
print(glob.glob(“/home/linuxhint/Documents”))
#matchende absolutte sti til Desktop
print(glob.glob(“/home/linuxhint/Desktop”))
#matchende absolutte sti til filer
print(glob.glob(“/home/linuxhint/Desktop/script.sh”))
print(glob.glob(“/home/linuxhint/Downloads/format.py”))
print(glob.glob(“/home/linuxhint/Documents/calculator.py”))
#angivelse af sti til en fil, der ikke findes
# glob-funktionen returnerer den tomme liste
print(glob.glob(“/home/linuxhint/Documents/myfile.py”)))

Output

Outputtet viser de overenskomster.

Eksempel 2: Brug af wildcards til søgning efter stier

Det er muligt at bruge wildcards med glob()-funktionen til søgning efter stier. De mest almindeligt anvendte wildcards er asterisk (*), spørgsmålstegn (?), talområde og alfabetområde . Først vil vi diskutere brugen af stjernen i glob()-funktionen.

Anvendelse af en stjernetegn (*) som jokertegn til søgning efter stier

Jokertegnsoperatoren stjernetegn bruges til at matche nul eller flere tegn i den absolutte sti. Hvis der ikke er angivet nogen tegn med stjernen, viser funktionen en liste over den absolutte sti for alle filer, mapper og undermapper i den angivne sti. Du kan også skrive nogle tegn sammen med stjernen, hvorefter den vil matche den absolutte sti baseret på de angivne tegn. Hvis du f.eks. skal finde den absolutte sti til .txt-filer, kan *-jokertegnet bruges som *.txt.

Vi vil implementere dette i vores Python-script.

#import af glob-modulet
import glob
#finde den absolutte sti til filer og mapper
print(glob.glob(“/home/linuxhint/Downloads/*”))
print(“—————————————-“)
#finde den absolutte sti til .txt-filerne i mappen Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.txt”))
print(“—————————————-“)
#finde den absolutte sti til .sh-filer i mappen Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.sh”))
print(“—————————————-“)
#opsporing af den absolutte sti til .py-filerne i mappen Documents
print(glob.glob(“/home/linuxhint/Documents/*.py”))
print(“—————————————-“)

Output

Outputtet viser den absolutte sti til filerne og mapperne i henhold til de definerede regler i glob()-funktionen.

Anvendelse af en jokertegnsoperator med spørgsmålstegn (?)

Den jokertegnsoperator med spørgsmålstegn (?) bruges til at matche et enkelt tegn. Dette kan være nyttigt i situationer, hvor man ikke kender et enkelt tegn i det givne navn.

Vi vil implementere dette i vores Python-script.

#import af glob-modulet
import glob
#finde filen med *-jokertegnoperatoren
print(glob.glob(“/home/linuxhint/Desktop/file?.txt”))

Output

Outputtet viser de matchede filer.

Anvendelse af en Range Wildcard-operator

Range Wildcard-operatoren bruges til at matche filer i et givet område af tegn eller tal. Området defineres inden for firkantede parenteser .

Vi finder den absolutte sti til filer ved at definere området.

#import af glob-modulet
import glob
#find den absolutte sti til filerne i et givet område
#definering af området i tegn
print(glob.glob(“/home/linuxhint/Desktop/*”))
#udskrivning af den stiplede linje for at differentiere outputtet
print(“——————————————“)
#definering af området i tal
print(glob.glob(“/home/linuxhint/Desktop/*”))

Output

Find filer rekursivt ved hjælp af glob()

Glob-funktionen tager to parametre som argument. Den f?rste parameter definerer stinavnet, og den anden parameter definerer den rekursive egenskab. Den anden parameter er valgfri, og den rekursive egenskab er som standard indstillet til “false”. Du kan dog indstille den rekursive egenskab til “true” for at finde filstien rekursivt.

Vi vil indstille den rekursive egenskab lig med “true” i vores Python-script og finde den absolutte sti til filerne rekursivt.

#import af glob-modulet
import glob
#Finder filerne rekursivt
print(glob.glob(“/home/linuxhint/Documents/*”,recursive=True))

Output

Konklusion

Glob er et almindeligt begreb, der henviser til teknikker, der bruges til at matche bestemte mønstre i henhold til UNIX-shell-relaterede regler. Python indeholder et indbygget glob-modul og en indbygget funktion til at få adgang til vejnavne i henhold til givne regler. Denne artikel forklarer, hvordan man bruger glob()-funktionen til at finde vejnavne med forskellige eksempler.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.