Python

Python Glob-funktion

Python Glob-funktion

Python er et af de mest anvendte programmeringssprog til generelle formål i nyere tid. Det giver mange indbyggede moduler, funktioner og nøgleord til at udføre filrelaterede opgaver. En glob er et udtryk, der henviser til de teknikker, der bruges til at matche bestemte mønstre i henhold til UNIX-shell-relaterede regler. Linux- og UNIX-baserede operativsystemer giver glob () -funktionen til at finde filer og mapper efter et givet mønster. Python leverer også et indbygget glob-modul til at få adgang til eller hente filer og stienavne, der matcher et bestemt mønster. Vi bruger Python glob () -funktionen i glob-modulet til de opgaver, der er beskrevet i denne artikel. Denne artikel forklarer, hvordan man bruger glob () -funktionen til at finde stienavne og filnavne i henhold til et givet mønster.

Eksempel 1: Match filnavn eller stinavn med absolut sti

Lad os se på et par eksempler for at forstå, hvordan funktionen glob () fungerer og fungerer. Vi starter med et simpelt eksempel på at matche filnavnet eller stienavnet med den absolutte sti. Hvis filnavnet eller stienavnet matcher den absolutte sti, returnerer funktionen glob () matches i form af en liste; Ellers returnerer funktionen glob () en tom liste.

#import af glob-modulet
import glob
# bruger globfunktionen til at matche stienavnet med den absolutte sti
#matching absolut sti til downloads-kataloget
print (glob.glob ("/ home / linuxhint / Downloads"))
#matching absolut sti til dokumentmappen
print (glob.glob ("/ home / linuxhint / Documents"))
#matching absolut sti til Desktop
print (glob.glob ("/ home / linuxhint / Desktop"))
#matching absolut sti for 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 "))
#specifying path of file, der ikke findes
#funktionen glob returnerer den tomme liste
print (glob.glob ("/ home / linuxhint / Documents / myfile.py "))

Produktion

Outputtet viser matches.

Eksempel 2: Brug af jokertegn til stien hentning

Det er muligt at bruge jokertegn med glob () -funktionen til stienøgning. De mest almindelige jokertegn er stjerne (*), spørgsmålstegn (?), nummerinterval [0-9] og alfabetinterval [a-z].  Først vil vi diskutere brugen af ​​stjernen i glob () -funktionen.

Brug af et jokertegn (*) med stjerne til hentning af sti

Asterisk-wildcard-operatøren bruges til at matche nul eller flere tegn i den absolutte sti. Hvis der ikke er angivet nogen tegn med stjernen, viser funktionen den absolutte sti for alle filerne, katalogerne og underkatalogerne for den givne sti. Du kan også skrive nogle tegn med stjernen, og den vil matche den absolutte sti baseret på de givne tegn. For eksempel, hvis du har brug for at finde den absolutte sti til .txt-filer, så kan * jokertegn bruges som *.txt.

Vi implementerer dette i vores Python-script.

#import af glob-modulet
import glob
#finding den absolutte sti til filer og mapper
print (glob.glob ("/ home / linuxhint / Downloads / *"))
Print("----------------------------------------")
# finde den absolutte vej for .txt-filer i skrivebordsmappen
print (glob.glob ("/ home / linuxhint / Desktop / *.txt "))
Print("----------------------------------------")
# finde den absolutte vej for .sh-filer i skrivebordsmappen
print (glob.glob ("/ home / linuxhint / Desktop / *.sh "))
Print("----------------------------------------")
# finde den absolutte vej for .py-filer i dokumentmappen
print (glob.glob ("/ home / linuxhint / Documents / *.py "))
Print("----------------------------------------")

Produktion

Outputtet viser den absolutte sti for filerne og katalogerne i henhold til definerede regler i globe () -funktionen.

Brug af et spørgsmålstegn (?) Jokertegnoperatør

Spørgsmålstegnet (?) jokertegnoperatør bruges til at matche et enkelt tegn. Dette kan være nyttigt i situationer, hvor du ikke er opmærksom på et enkelt tegn i det givne navn.

Vi implementerer dette i vores Python-script.

#import af glob-modulet
import glob
#find filen med * wildcard-operatøren
print (glob.glob ("/ home / linuxhint / Desktop / file?.txt "))

Produktion

Outputtet viser de matchede filer.

Brug af en Range Wildcard-operatør

Rækkevidde-jokertegnoperatøren bruges til at matche filer i et givet interval af tegn eller tal. Området er defineret inden for firkantede parenteser [].

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

#import af glob-modulet
import glob
#finding af den absolutte sti for filerne i et givet interval
#definerer rækkevidden i tegn
print (glob.glob ("/ home / linuxhint / Desktop / [a-f] *"))
#printing af den stiplede linje for at differentiere output
Print("------------------------------------------")
#definerer rækkevidden i tal
print (glob.glob ("/ home / linuxhint / Desktop / [1-5] *"))

Produktion

Find filer rekursivt ved hjælp af glob ()

Globfunktionen tager to parametre som et argument. Den første parameter definerer stienavnet, og den anden parameter definerer den rekursive egenskab. Den anden parameter er valgfri, og den rekursive egenskab er som standard indstillet til "falsk". Du kan dog indstille den rekursive egenskab til "sand" for at finde filstien rekursivt.

Vi indstiller den rekursive egenskab lig med "true" i vores Python-script og finder den absolutte sti til filerne rekursivt.

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

Produktion

Konklusion

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

OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...
SuperTuxKart til Linux
SuperTuxKart er en fantastisk titel designet til at give dig Mario Kart-oplevelsen gratis på dit Linux-system. Det er ret udfordrende og sjovt at spil...
Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...