Python

Python Glob-funksjon

Python Glob-funksjon

Python er et av de mest brukte programmeringsspråkene for allmenn bruk i nyere tid. Den har 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 bestemte 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 tilbyr også en innebygd glob-modul for å få tilgang til eller hente filer og stienavn som samsvarer med et spesifisert mønster. Vi bruker Python glob () -funksjonen til glob-modulen for oppgavene som er beskrevet i denne artikkelen. Denne artikkelen forklarer hvordan du bruker glob () -funksjonen til å finne stienavn og filnavn i henhold til et gitt mønster.

Eksempel 1: Match filnavn eller stinavn med absolutt sti

La oss se på et par eksempler for å forstå funksjonen og funksjonen til glob () -funksjonen. Vi begynner med et enkelt eksempel på å matche filnavnet eller stienavnet med den absolutte banen. Hvis filnavnet eller stienavnet samsvarer med den absolutte banen, returnerer glob () -funksjonen treff i form av en liste; Ellers returnerer glob () -funksjonen en tom liste.

#importing glob-modulen
importere glob
# bruker glob-funksjonen for å matche banenavnet med den absolutte banen
#matching absolutt bane for nedlastningskatalogen
utskrift (glob.glob ("/ home / linuxhint / Downloads"))
#matching absolutt bane for dokumentkatalogen
utskrift (glob.glob ("/ home / linuxhint / Documents"))
#matching absolutt bane til skrivebordet
utskrift (glob.glob ("/ home / linuxhint / Desktop"))
#matching absolutt filbane
utskrift (glob.glob ("/ home / linuxhint / Desktop / script.sh "))
utskrift (glob.glob ("/ hjem / linuxhint / Nedlastinger / format.py "))
utskrift (glob.glob ("/ hjem / linuxhint / Dokumenter / kalkulator.py "))
#specifying path of file that not exist
# glob-funksjonen vil returnere den tomme listen
utskrift (glob.glob ("/ home / linuxhint / Documents / myfile.py "))

Produksjon

Utgangen viser fyrstikkene.

Eksempel 2: Bruke jokertegn for stien henting

Det er mulig å bruke jokertegn med glob () -funksjonen for gjenfinning av stier. De mest brukte jokertegnene er stjernen (*), spørsmålstegnet (?), nummerområde [0-9] og alfabetområde [a-z].  Først vil vi diskutere bruken av stjernen i glob () -funksjonen.

Bruke et stjerne (*) jokertegn for stien henting

Stjernekortoperatøren brukes til å matche null eller flere tegn i den absolutte banen. Hvis ingen tegn er angitt med stjernen, vil funksjonen vise den absolutte banen til alle filene, katalogene og underkatalogene til den gitte banen. Du kan også skrive noen tegn med stjernen, og den vil matche den absolutte banen basert på de gitte tegnene. For eksempel hvis du trenger å finne den absolutte banen til .txt-filer, så kan * jokertegn brukes som *.tekst.

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

#importing av globmodulen
importere glob
#finding den absolutte banen til filene og katalogene
utskrift (glob.glob ("/ home / linuxhint / Downloads / *"))
skrive ut("----------------------------------------")
# å finne den absolutte banen til .txt-filer i skrivebordskatalogen
utskrift (glob.glob ("/ home / linuxhint / Desktop / *.tekst"))
skrive ut("----------------------------------------")
# å finne den absolutte banen til .sh-filer i skrivebordskatalogen
utskrift (glob.glob ("/ home / linuxhint / Desktop / *.sh "))
skrive ut("----------------------------------------")
# å finne den absolutte banen til .py-filer i Dokumenter-katalogen
utskrift (glob.glob ("/ hjem / linuxhint / Dokumenter / *.py "))
skrive ut("----------------------------------------")

Produksjon

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

Bruke et spørsmålstegn (?) Jokertegnoperatør

Spørsmålstegnet (?) jokertegnoperatør brukes til å matche et enkelt tegn. Dette kan være nyttig i situasjoner når du ikke er klar over et enkelt tegn i det gitte navnet.

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

#importing glob-modulen
importere glob
#finner filen med * jokertegnoperatøren
utskrift (glob.glob ("/ home / linuxhint / Desktop / file?.tekst"))

Produksjon

Utgangen viser de samsvarende filene.

Bruke en Range Wildcard-operatør

Range-jokertegnoperatøren brukes til å matche filer i et gitt tegn- eller tallintervall. Området er definert innenfor firkantede parenteser [].

Vi finner den absolutte banen til filer ved å definere rekkevidden.

#importing av globmodulen
importere glob
#finding den absolutte banen til filene i et gitt område
#definerer rekkevidden i tegn
utskrift (glob.glob ("/ home / linuxhint / Desktop / [a-f] *"))
#utskrift av den stiplede linjen for å skille utdataene
skrive ut("------------------------------------------")
#definerer rekkevidden i tall
utskrift (glob.glob ("/ home / linuxhint / Desktop / [1-5] *"))

Produksjon

Finn filer rekursivt ved hjelp av glob ()

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

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

#importing glob-modulen
importere glob
#finne filene rekursivt
utskrift (glob.glob ("/ home / linuxhint / Documents / *", recursive = True))

Produksjon

Konklusjon

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

Slik installerer du League Of Legends på Ubuntu 14.04
Hvis du er fan av League of Legends, er dette en mulighet for deg å prøvekjør League of Legends. Merk at LOL støttes på PlayOnLinux hvis du er en linu...
Installer det siste OpenRA-strategispillet på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spillmotor som gjenskaper de tidlige Westwood-spillene som den klassiske Command & Conquer: Red Alert. Di...
Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...