Python är ett av de mest använda allmänna programmeringsspråken på senare tid. Det tillhandahåller många inbyggda moduler, funktioner och nyckelord för att utföra filrelaterade uppgifter. En glob är en term som hänvisar till de tekniker som används för att matcha särskilda mönster enligt UNIX skalrelaterade regler. Linux- och UNIX-baserade operativsystem tillhandahåller funktionen glob() för att hitta filer och kataloger enligt ett givet mönster. Python har också en inbyggd glob-modul för att få tillgång till eller hämta filer och sökvägar som matchar ett visst mönster. Vi kommer att använda Pythons glob()-funktion i glob-modulen för de uppgifter som beskrivs i den här artikeln. Den här artikeln förklarar hur man använder funktionen glob() för att hitta sökvägar och filnamn enligt ett givet mönster.
- Exempel 1: Matcha filnamn eller sökväg med absolut sökväg
- Exempel 2: Användning av jokertecken för sökvägshämtning
- Användning av asterisk (*) som jokertecken för sökvägshämtning
- Användning av frågetecknet (?) som jokerteckenoperatör
- Användning av en Range Wildcard-operator
- Sök filer rekursivt med hjälp av glob()
- Slutsats
Exempel 1: Matcha filnamn eller sökväg med absolut sökväg
Låt oss titta på ett par exempel för att förstå hur glob()-funktionen fungerar och fungerar. Vi börjar med ett enkelt exempel där vi matchar filnamnet eller sökvägen med den absoluta sökvägen. Om filnamnet eller sökvägen stämmer överens med den absoluta sökvägen returnerar funktionen glob() matchningar i form av en lista, annars returnerar funktionen glob() en tom lista.
import glob
#användning av glob-funktionen för att matcha sökvägen med den absoluta sökvägen
#matchning av den absoluta sökvägen till katalogen för nedladdningar
print(glob.glob(“/home/linuxhint/Downloads”))
#matchning av den absoluta sökvägen till katalogen för dokument
print(glob.glob(“/home/linuxhint/Documents”))
#matchar absolut sökväg till Desktop
utskrift(glob.glob(“/home/linuxhint/Desktop”))
#matchar absolut sökväg till filer
utskrift(glob.glob(“/home/linuxhint/Desktop/script.sh”))
utskrift(glob.glob(“/home/linuxhint/Downloads/format.py”))
utskrift(glob.glob(“/home/linuxhint/Documents/calculator.py”))
#angivande av sökväg till en fil som inte finns
#glob-funktionen returnerar en tom lista
utskrift(glob.glob(“/home/linuxhint/Documents/myfile.py”))
Utmatning
Utmatningen visar träffarna.
Exempel 2: Användning av jokertecken för sökvägshämtning
Det går att använda jokertecken med glob()-funktionen för sökvägshämtning. De vanligaste jokertecknen är asterisk (*), frågetecken (?), sifferintervall och alfabetintervall. Först kommer vi att diskutera användningen av asterisk i glob()-funktionen.
Användning av asterisk (*) som jokertecken för sökvägshämtning
Jokerteckenoperatorn asterisk används för att matcha noll eller flera tecken i den absoluta sökvägen. Om inga tecken anges med asterisken listar funktionen den absoluta sökvägen för alla filer, kataloger och underkataloger i den angivna sökvägen. Du kan också skriva några tecken tillsammans med asterisken och den kommer att matcha den absoluta sökvägen baserat på de angivna tecknen. Om du till exempel behöver hitta den absoluta sökvägen för .txt-filer kan * jokertecknet användas som *.txt.
Vi kommer att implementera detta i vårt Python-skript.
import glob
#söka den absoluta sökvägen för filerna och katalogerna
print(glob.glob(“/home/linuxhint/Downloads/*”))
print(“—————————————-“)
#upptäck den absoluta sökvägen till .txt-filerna i katalogen Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.txt”))
print(“—————————————-“)
#upptäck den absoluta sökvägen till .sh-filerna i katalogen Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.sh”))
print(“—————————————-“)
#sök den absoluta sökvägen till .py-filerna i katalogen Documents
print(glob.glob(“/home/linuxhint/Documents/*.py”))
print(“—————————————-“)
Utmatning
Utmatningen visar den absoluta sökvägen för filerna och katalogerna enligt definierade regler i funktionen glob().
Användning av frågetecknet (?) som jokerteckenoperatör
Frågetecknet (?) som jokerteckenoperatör används för att matcha ett enda tecken. Detta kan vara användbart i situationer när du inte känner till ett enskilt tecken i det givna namnet.
Vi kommer att implementera detta i vårt Python-skript.
importera glob
#söka filen med jokerteckenoperatorn *
print(glob.glob(“/home/linuxhint/Desktop/file?.txt”))
Utmatning
Utmatningen visar de matchade filerna.
Användning av en Range Wildcard-operator
Range Wildcard-operatorn används för att matcha filer inom ett givet tecken- eller sifferområde. Området definieras innanför hakparenteser.
Vi kommer att hitta filernas absoluta sökväg genom att definiera området.
import glob
#finns den absoluta sökvägen för filerna i ett givet område
#definierar området i tecken
print(glob.glob(“/home/linuxhint/Desktop/*”))
#utskrift av den streckade linjen för att särskilja resultatet
print(“——————————————“)
#definiering av intervallet i siffror
print(glob.glob(“/home/linuxhint/Desktop/*”))
Output
Sök filer rekursivt med hjälp av glob()
Funktionen glob tar två parametrar som 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å “false”. Du kan dock ställa in den rekursiva egenskapen till “true” för att hitta filens sökväg 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 till filerna rekursivt.
import glob
#finns filerna rekursivt
print(glob.glob(“/home/linuxhint/Documents/*”,recursive=True))
Output
Slutsats
Glob är en vanlig term som hänvisar till tekniker som används för att matcha särskilda mönster enligt UNIX skalrelaterade regler. Python tillhandahåller en inbyggd glob-modul och funktion för att få tillgång till sökvägar enligt givna regler. I den här artikeln förklaras hur man använder glob()-funktionen för att hitta sökvägar med olika exempel.