Python Glob -funksjon

Python Glob -funksjon

Python er et av de mest brukte programmeringsspråk for generell formål i nyere tid. Det gir mange innebygde moduler, funksjoner og nøkkelord for å utføre filrelaterte oppgaver. En glob er et begrep som refererer til teknikkene som brukes til å matche spesielle mønstre i henhold til UNIX-skallrelaterte regler. Linux- og UNIX-baserte operativsystemer gir Glob () -funksjonen for å finne filer og kataloger i henhold til et gitt mønster. Python gir også en innebygd glob-modul for å få tilgang til eller hente filer og banenavn som samsvarer med et spesifisert mønster. Vi vil bruke Python Glob () -funksjonen til Glob -modulen for oppgavene beskrevet i denne artikkelen. Denne artikkelen forklarer hvordan du bruker Glob () -funksjonen for å finne banenavn og filnavn i henhold til et gitt mønster.

Eksempel 1: Match filnavn eller banenavn med absolutt sti

La oss se på et par eksempler for å forstå funksjonen til funksjonen og arbeidet med glob () -funksjonen. Vi vil starte med et enkelt eksempel på å matche filnavnet eller banenavnet med den absolutte banen. Hvis filnavnet eller banenavnet stemmer overens med den absolutte banen, stemmer funksjonen for glob () stemmer i form av en liste; Ellers returnerer Glob () -funksjonen en tom liste.

#importing av globmodulen
Import glob
#Bruke globfunksjonen for å matche banenavnet med den absolutte banen
#Matching Absolute Path of Downloads Directory
trykk (glob.Glob ("/Home/Linuxhint/Downloads"))
#Matching Absolute Path of Documents Directory
trykk (glob.Glob ("/Home/Linuxhint/Documents"))
#Matching Absolute Path of Desktop
trykk (glob.Glob ("/Home/Linuxhint/Desktop"))
#Matching Absolute Path of Files
trykk (glob.Glob ("/Home/Linuxhint/Desktop/Script.sh "))
trykk (glob.Glob ("/Home/Linuxhint/Downloads/Format.py "))
trykk (glob.Glob ("/Home/Linuxhint/Documents/Calculator.py "))
#Specifying Path of File som ikke eksisterer
#Glob -funksjonen vil returnere den tomme listen
trykk (glob.Glob ("/Home/Linuxhint/Documents/MyFile.py "))

Produksjon

Utgangen viser kampene.

Eksempel 2: Bruke jokertegn for henting av stier

Det er mulig å bruke jokertegn med Glob () -funksjonen for henting av banen. De mest brukte jokertegnene er stjerne (*), spørsmålstegn (?), nummersområde [0-9], og alfabetene [A-Z]. Først vil vi diskutere bruken av stjerne i glob () -funksjonen.

Ved hjelp av et stjerne (*) jokertegn for henting av stier

Asterisk Wild Card -operatøren brukes til å matche null eller flere tegn på den absolutte banen. Hvis ingen tegn (er) er spesifisert med stjerne, vil funksjonen liste opp den absolutte banen til alle filene, katalogene og underkatalogene til den gitte banen. Du kan også skrive noen tegn med stjerne, og den vil matche den absolutte banen basert på de gitte karakterene. For eksempel, hvis du trenger å finne den absolutte banen til .txt -filer, da kan * jokertegn brukes som *.tekst.

Vi vil implementere dette i Python -skriptet vårt.

#importing av globmodulen
Import glob
#Finding av den absolutte banen til filene og katalogene
trykk (glob.Glob ("/Home/Linuxhint/Downloads/*"))
skrive ut("----------------------------------------")
#finding den absolutte banen til .TXT -filer i Desktop Directory
trykk (glob.Glob ("/Home/Linuxhint/Desktop/*.tekst"))
skrive ut("----------------------------------------")
#finding den absolutte banen til .SH -filer i Desktop Directory
trykk (glob.Glob ("/Home/Linuxhint/Desktop/*.sh "))
skrive ut("----------------------------------------")
#finding den absolutte banen til .py filer i dokumenterkatalogen
trykk (glob.Glob ("/Home/Linuxhint/Documents/*.py "))
skrive ut("----------------------------------------")

Produksjon

Utgangen viser den absolutte banen til filene og katalogene i henhold til definerte regler i kloden () -funksjonen.

Ved hjelp av et spørsmålstegn (?) Wildcard -operatør

Spørsmålstegnet (?) Wildcard -operatør brukes til å matche en enkelt karakter. Dette kan være nyttig i situasjoner når du ikke er klar over en eneste karakter i det gitte navnet.

Vi vil implementere dette i Python -skriptet vårt.

#importing av globmodulen
Import glob
#Finding av filen med * Wildcard -operatøren
trykk (glob.Glob ("/Home/Linuxhint/Desktop/File?.tekst"))

Produksjon

Utgangen viser de matchede filene.

Bruke en rekkevidderoperatør

Range Wildcard -operatøren brukes til å matche filer i et gitt utvalg av tegn eller tall. Området er definert inne i firkantede parenteser [].

Vi vil finne den absolutte banen til filer ved å definere rekkevidden.

#importing av globmodulen
Import glob
#Finding av den absolutte banen til filene i et gitt område
#definering av rekkevidden i tegn
trykk (glob.Glob ("/Home/Linuxhint/Desktop/[A-F]*")))
#uttrykk av den stiplede linjen for å skille utdataene
skrive ut("------------------------------------------")
#definering av rekkevidden i antall
trykk (glob.Glob ("/Home/Linuxhint/Desktop/[1-5]*")))

Produksjon

Finn filer rekursivt ved bruk av glob ()

Glob -funksjonen tar to parametere som et argument. Den første parameteren definerer banenavnet, og den andre parameteren definerer den rekursive egenskapen. Den andre parameteren er valgfri, og den rekursive egenskapen er satt til "False" som standard. Du kan imidlertid sette den rekursive egenskapen til "sann" for å finne filstien rekursivt.

Vi vil sette den rekursive egenskapen lik "sann" i Python -skriptet og finne den absolutte banen til filene rekursivt.

#importing av globmodulen
Import glob
#Finding av filene rekursivt
trykk (glob.Glob ("/Home/Linuxhint/Documents/*", Recursive = True)))

Produksjon

Konklusjon

Glob er et vanlig begrep som refererer til teknikker som brukes til å matche spesielle mønstre i henhold til UNIX-skallrelaterte regler. Python gir en innebygd glob-modul og funksjon for å få tilgang til banenavn i henhold til gitte regler. Denne artikkelen forklarer hvordan du bruker Glob () -funksjonen for å finne banenavn med forskjellige eksempler.