Pytonorm

Python Glob-funktion

Python Glob-funktion

Python är ett av de mest använda programmeringsspråken för allmänt ändamål på senare tid. Den innehåller många inbyggda moduler, funktioner och nyckelord för att utföra filrelaterade uppgifter. En glob är en term som refererar till de tekniker som används för att matcha specifika mönster enligt UNIX-skalrelaterade regler. Linux- och UNIX-baserade operativsystem ger glob () -funktionen för att hitta filer och kataloger enligt ett visst mönster. Python tillhandahåller också en inbyggd globmodul för att komma åt eller hämta filer och sökvägar som matchar ett angivet mönster. Vi kommer att använda Python glob () -funktionen i globmodulen för de uppgifter som beskrivs i den här artikeln. Den här artikeln förklarar hur man använder glob () -funktionen för att hitta sökvägar och filnamn enligt ett visst mönster.

Exempel 1: Matcha filnamn eller sökväg med absolut sökväg

Låt oss titta på några exempel för att förstå hur glob () - funktionen fungerar. Vi börjar med ett enkelt exempel på att matcha filnamnet eller sökvägen till den absoluta sökvägen. Om filnamnet eller sökvägen matchar den absoluta sökvägen, returnerar funktionen glob () matchningar i form av en lista; annars returnerar funktionen glob () en tom lista.

#importing av globmodulen
importera glob
# använder globfunktionen för att matcha sökvägen till den absoluta sökvägen
#matching absolut sökväg för nedladdningskatalogen
tryck (glob.glob ("/ home / linuxhint / Downloads"))
#matching absolut sökväg för dokumentkatalogen
tryck (glob.glob ("/ home / linuxhint / Documents"))
#matching absolut sökväg för Desktop
tryck (glob.glob ("/ home / linuxhint / Desktop"))
#matching absolut sökväg för filer
tryck (glob.glob ("/ home / linuxhint / Desktop / script.sh "))
tryck (glob.glob ("/ home / linuxhint / Downloads / format.py "))
tryck (glob.glob ("/ home / linuxhint / Documents / calculator.py "))
#specifying path of file that is not exist
#funktionen returnerar den tomma listan
tryck (glob.glob ("/ home / linuxhint / Documents / myfile.py "))

Produktion

Utgången visar matchningarna.

Exempel 2: Använd jokertecken för sökning av sökvägar

Det är möjligt att använda jokertecken med glob () -funktionen för sökning av sökvägar. De vanligaste jokertecken är asterisken (*), frågetecknet (?), nummerintervall [0-9] och alfabetintervall [a-z].  Först kommer vi att diskutera användningen av asterisken i funktionen glob ().

Med hjälp av en asterisk (*) jokertecken för sökning av sökväg

Asterisk wild card-operatören används för att matcha noll eller fler tecken i den absoluta sökvägen. Om inga tecken anges med asterisken kommer funktionen att visa den absoluta sökvägen för alla filer, kataloger och underkataloger för den angivna sökvägen. Du kan också skriva några tecken med asterisken och den matchar den absoluta sökvägen baserat på de givna tecknen. Till exempel om du behöver hitta den absoluta sökvägen till .txt-filer, då kan * jokertecken användas som *.Text.

Vi kommer att implementera detta i vårt Python-skript.

#importing av globmodulen
importera glob
#finding den absoluta sökvägen för filer och kataloger
tryck (glob.glob ("/ home / linuxhint / Downloads / *"))
skriva ut("----------------------------------------")
# hitta den absoluta vägen för .txt-filer i skrivbordskatalogen
tryck (glob.glob ("/ home / linuxhint / Desktop / *.Text"))
skriva ut("----------------------------------------")
# hitta den absoluta vägen för .sh-filer i skrivbordskatalogen
tryck (glob.glob ("/ home / linuxhint / Desktop / *.sh "))
skriva ut("----------------------------------------")
# hitta den absoluta vägen för .py-filer i katalogen Dokument
tryck (glob.glob ("/ home / linuxhint / Documents / *.py "))
skriva ut("----------------------------------------")

Produktion

Utdata visar den absoluta sökvägen för filer och kataloger enligt definierade regler i globe () -funktionen.

Använda ett frågetecken (?) Jokertjänstoperatör

Frågetecknet (?) jokerteckenoperatör används för att matcha ett enda tecken. Detta kan vara användbart i situationer där du inte känner till en enda karaktär i det angivna namnet.

Vi kommer att implementera detta i vårt Python-skript.

#importing av globmodulen
importera glob
# hitta filen med * jokerteckenoperatören
tryck (glob.glob ("/ home / linuxhint / Desktop / file?.Text"))

Produktion

Utgången visar de matchade filerna.

Använda en Range Wildcard-operatör

Range-jokerteckenoperatören används för att matcha filer i ett visst intervall med tecken eller siffror. Området definieras inom hakparenteser [].

Vi hittar den absoluta sökvägen för filer genom att definiera intervallet.

#importing av globmodulen
importera glob
#finding den absoluta sökvägen för filerna inom ett visst intervall
#definierar intervallet i tecken
tryck (glob.glob ("/ home / linuxhint / Desktop / [a-f] *"))
#utskrift av den streckade linjen för att differentiera utdata
skriva ut("------------------------------------------")
#definiera intervallet i siffror
tryck (glob.glob ("/ home / linuxhint / Desktop / [1-5] *"))

Produktion

Hitta filer rekursivt med glob ()

Globfunktionen tar två parametrar som ett argument. Den första parametern definierar sökvägen och den andra parametern definierar den rekursiva egenskapen. Den andra parametern är valfri och den rekursiva egenskapen är som standard inställd på "falsk". Du kan dock ställa in den rekursiva egenskapen till "true" för att hitta filvägen rekursivt.

Vi kommer att ställa in den rekursiva egenskapen lika med "true" i vårt Python-skript och hitta den absoluta sökvägen för filerna rekursivt.

#importing av globmodulen
importera glob
# hitta filer rekursivt
tryck (glob.glob ("/ home / linuxhint / Documents / *", recursive = True))

Produktion

Slutsats

Glob är en vanlig term som refererar till tekniker som används för att matcha vissa mönster enligt UNIX-skalrelaterade regler. Python tillhandahåller en inbyggd globmodul och funktion för att komma åt sökvägar enligt givna regler. Den här artikeln förklarar hur man använder glob () -funktionen för att hitta sökvägar med olika exempel.

Topp 10 spel att spela på Ubuntu
Windows-plattformen har varit en av de dominerande plattformarna för spel på grund av den enorma andelen spel som utvecklas idag för att stödja Window...
5 bästa arkadspel för Linux
Numera är datorer seriösa maskiner som används för spel. Om du inte kan få den nya poängen vet du vad jag menar. I det här inlägget kommer du att känn...
Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...