Python az utóbbi idők egyik legszélesebb körben használt általános célú programozási nyelve. Számos beépített modult, függvényt és kulcsszót biztosít a fájlokkal kapcsolatos feladatok elvégzéséhez. A glob egy olyan kifejezés, amely a UNIX shell-hez kapcsolódó szabályoknak megfelelően bizonyos minták megfeleltetésére használt technikákra utal. A Linux- és UNIX-alapú operációs rendszerek a glob() függvényt biztosítják a fájlok és könyvtárak adott mintának megfelelő keresésére. A Python egy beépített glob modult is biztosít a megadott mintának megfelelő fájlok és elérési utak eléréséhez vagy visszakereséséhez. Az ebben a cikkben leírt feladatokhoz a Python glob modul glob() függvényét fogjuk használni. Ez a cikk elmagyarázza, hogyan használhatjuk a glob() függvényt egy adott mintának megfelelő elérési utak és fájlnevek keresésére.
- 1. példa: A fájlnév vagy az elérési útvonal abszolút útvonallal való egyezése
- 2. példa: Jokerjelek használata az elérési útvonalkereséshez
- Asterisk (*) jokerjegy használata az elérési útvonal lekérdezéséhez
- Kérdőjel (?) joker-operátor használata
- A tartományi joker operátor használata
- Fájlok rekurzív keresése a glob()
- Következtetés
1. példa: A fájlnév vagy az elérési útvonal abszolút útvonallal való egyezése
Nézzünk néhány példát, hogy megértsük a glob() függvény működését és működését. Egy egyszerű példával kezdjük a fájlnév vagy elérési név abszolút elérési úttal való megfeleltetését. Ha a fájlnév vagy az elérési útnév megegyezik az abszolút elérési úttal, akkor a glob() függvény egy lista formájában adja vissza a találatokat; ellenkező esetben a glob() függvény egy üres listát ad vissza.
import glob
#a glob függvény használata az elérési útnév és az abszolút elérési út megfeleltetésére
#a letöltések könyvtár abszolút elérési útjának megfeleltetése
print(glob.glob(“/home/linuxhint/Downloads”))
#a dokumentumok könyvtár abszolút elérési útjának megfeleltetése
print(glob.glob(“/home/linuxhint/Documents”))
#Asztal abszolút elérési útja
print(glob.glob(“/home/linuxhint/Desktop”))
#Fájlok abszolút elérési útja
print(glob.glob(“/home/linuxhint/Desktop/script.sh”))
print(glob.glob(“/home/linuxhint/Downloads/format.py”))
print(glob.glob(“/home/linuxhint/Documents/calculator.py”))
#nem létező fájl elérési útjának megadása
#a glob függvény üres listát ad vissza
print(glob.glob(“/home/linuxhint/Documents/myfile.py”))
Kimenet
A kimenet mutatja a találatokat.
2. példa: Jokerjelek használata az elérési útvonalkereséshez
A glob() függvénnyel lehetséges a jokerek használata az elérési útvonalkereséshez. A leggyakrabban használt jokerek a csillag (*), a kérdőjel (?), a számtartomány , és a betűtartomány . Először a csillag használatát tárgyaljuk a glob() függvényben.
Asterisk (*) jokerjegy használata az elérési útvonal lekérdezéséhez
A csillag jokerjegy operátor az abszolút elérési útvonal nulla vagy több karakterének megfeleltetésére szolgál. Ha a csillaggal nem adunk meg karakter(eke)t, akkor a függvény a megadott elérési útvonal összes fájljának, könyvtárának és alkönyvtárának abszolút elérési útvonalát listázza. A csillaggal együtt néhány karaktert is megadhat, és az abszolút elérési útvonal a megadott karakterek alapján fog megfelelni. Például, ha a .txt fájlok abszolút elérési útját kell megkeresni, akkor a * jokert *.txt-ként használhatjuk.
Ezt a Python szkriptünkben fogjuk megvalósítani.
import glob
#a fájlok és könyvtárak abszolút elérési útjának megkeresése
print(glob.glob(“/home/linuxhint/Downloads/*”))
print(“—————————————-“)
#az Asztal könyvtárban lévő .txt fájlok abszolút elérési útjának megtalálása
print(glob.glob(“/home/linuxhint/Desktop/*.txt”))
print(“—————————————-“)
#az .sh fájlok keresése az Asztal könyvtárban
print(glob.glob(“/home/linuxhint/Desktop/*.sh”))
print(“—————————————-“)
#a Dokumentumok könyvtárban lévő .py fájlok abszolút elérési útjának keresése
print(glob.glob(“/home/linuxhint/Dokumentumok/*.py”))
print(“—————————————-“)
Kimenet
A kimenet a fájlok és könyvtárak abszolút elérési útját mutatja a globe() függvényben meghatározott szabályok szerint.
Kérdőjel (?) joker-operátor használata
A kérdőjel (?) joker-operátor egyetlen karakterrel való egyezésre szolgál. Ez olyan helyzetekben lehet hasznos, amikor nem ismerünk egyetlen karaktert sem az adott névben.
Ezt fogjuk implementálni a Python szkriptünkben.
import glob
#fájl keresése a * joker operátorral
print(glob.glob(“/home/linuxhint/Desktop/file?.txt”)))
Kimenet
A kimenet az illesztett fájlokat mutatja.
A tartományi joker operátor használata
A tartományi joker operátor arra szolgál, hogy egy adott karakter- vagy számtartományban lévő fájlokat illessze. A tartományt szögletes zárójelben határozzuk meg .
A tartomány meghatározásával megkeressük a fájlok abszolút elérési útvonalát.
import glob
#meghatározott tartományban lévő fájlok abszolút elérési útvonalának megkeresése
#tartomány meghatározása karakterekben
print(glob.glob(“/home/linuxhint/Desktop/*”))
#pontozott vonal nyomtatása a kimenet megkülönböztetésére
print(“——————————————“)
#tartomány meghatározása számokban
print(glob.glob(“/home/linuxhint/Desktop/*”))
Kimenet
Fájlok rekurzív keresése a glob()
A glob függvény két paramétert vesz fel argumentumként. Az első paraméter az elérési utat, a második paraméter pedig a rekurzív tulajdonságot határozza meg. A második paraméter opcionális, a rekurzív tulajdonság pedig alapértelmezés szerint “false”-ra van állítva. A rekurzív tulajdonságot azonban “true”-ra is beállíthatja, hogy a fájl elérési útvonalát rekurzívan keresse meg.
Python szkriptünkben a rekurzív tulajdonságot “true”-ra állítjuk, és rekurzívan megkeressük a fájlok abszolút elérési útvonalát.
import glob
#a fájlok rekurzív keresése
print(glob.glob(“/home/linuxhint/Documents/*”,recursive=True))
Kimenet
Következtetés
A glob egy általános kifejezés, amely a UNIX héjjal kapcsolatos szabályok szerinti bizonyos minták megfeleltetésére használt technikákra utal. A Python egy beépített glob modult és függvényt biztosít a megadott szabályok szerinti eléréshez az elérési utakhoz. Ez a cikk különböző példákon keresztül mutatja be, hogyan használhatjuk a glob() függvényt elérési utak keresésére.