Python Glob () függvény az elérési út, a könyvtár, a fájlnevek illesztésére példákkal

glob egy általános kifejezés, amelyet olyan technikák meghatározására használnak, amelyek megfelelnek a megadott mintáknak a Unix héjhoz kapcsolódó szabályok szerint. A Linux és Unix rendszerek és héjak szintén támogatják a glob-ot, és biztosítják a glob() funkciót a rendszerkönyvtárakban. Ebben az oktatóanyagban a glob() Funkcióhasználat Python programozási nyelven.

a glob() és a kapcsolódó funkciók használatához importálnunk kell a glob modult. Ne feledje, hogy aglob modul tartalmazza aglob() és egyéb kapcsolódó funkciókat.

import glob
Glob modul importálása

pontos karakterlánc keresés

egy egyszerű példával kezdjük. Megnézzük, hogyan lehet a pontos karakterláncot vagy fájlnevet abszolút elérési úttal egyeztetni. Ebben a példában felsoroljuk a /home/ismail/poftut.c fájlt . Láthatjuk az alábbi példát, hogy a függvény egy listát ad vissza, amely egyezéseket tartalmaz.

glob.glob("/home/ismail/poftut.c")
pontos karakterlánc keresés

helyettesítő karakterek

a helyettesítő karakter fontos Glob operátor a glob műveletekhez. A helyettesítő karakter vagy a csillag nulla vagy több karakter illesztésére szolgál. Helyettesítő karakter megadva, hogy lehet nulla karakter vagy több karakter, ahol a karakter nem fontos. Ebben az exmaple-ban olyan fájlokat fogunk egyeztetni, amelyeknek .txt kiterjesztése van.

glob.glob("/home/ismail/*.txt")
helyettesítő karakterek

mint tudjuk nézze meg, hogy sok .txt fájl van, amelyek egy python listában térnek vissza.

helyettesítő karakterek többszintű könyvtárakkal

helyettesítő karaktereket használhatunk a többszintű könyvtárak megadásához. Ha egy szinttel lejjebb szeretnénk keresni a megadott glob könyvtárakat, akkor a /*/ értéket fogjuk használni . Ebben a példában a .txt fájlokat keressük egy szinttel lejjebb a /home/ismail könyvtárban . Ezt “glob glob” – nak is nevezik, mert a glob modul nevét és a glob függvényt használjuk, amelyet a glob modul biztosít.

glob.glob("/home/ismail/*/*.txt")
helyettesítő karakterek többszintű könyvtárakkal

egykarakteres helyettesítő

van egy kérdőjel, amelyet egyetlen karakter illesztésére használnak. Ez hasznos lehet, ha nem tudjuk, egyetlen karakter adott nevet. Ebben a példában a fájlokat a file?.txt fájlokkal fogjuk egyeztetni, ahol ezek megfelelnek a

  • fájlnak.txt
  • fájl1.txt
  • fájl5.txt
glob.glob("/home/ismail/file?.txt")

több karakter

a Glob alfabetikus és numerikus karaktereket is támogat. Használhatjuk a karaktertartomány befejezésére szolgál. Azt tudunk tenni, amit akarunk, hogy megfeleljen a szögletes zárójelben. Ebben a példában a e,m,p fájl-és mappaneveket fogjuk egyeztetni .

glob.glob("/home/ismail/*.tx?")
Karaktertartományok

számtartományok

bizonyos esetekben érdemes egyeztetni a számtartományt. Használhatjuk a - kötőjelet a kezdő és a záró számok megadásához. Ebben a példában a 0-tól 9-ig egyezünk a 0-9értékkel. Ebben a példában a 0-tól 9-ig terjedő számokat tartalmazó fájl-és mappaneveket fogjuk egyeztetni.

glob.glob("/home/ismail/**")
számtartományok

ábécé tartományok

a számtartományokhoz hasonló ábécé tartományokat is meghatározhatunk. fogjuk használni a-z kisbetűk, ahol A-Z nagybetűk. Mi van, ha meg kell egyeznie a kis-és nagybetűs karakterek egyetlen nyilatkozatot. Használhatjuk az A-Z-t, hogy megfeleljen mind az alsó, mind a nagybetűknek. Ebben a példában a a és c

glob.glob("/home/ismail/*")
alphabet tartományok

vissza generátor iglob() mehtod

általában glob módszert használják a fájlok listázására a megadott minták. De bizonyos esetekben a Felsorolás és tárolás unalmas munka lehet. Tehát iglob() függvény használható egy iterátor létrehozására, amely felhasználható a fájlnevek iterálására a next() funkcióval.

import glob
gen = glob.iglob("*.txt")
for item in gen:
print(item)
vissza generátor iglob() Mehtod

skip konkrét karakterek Escape() módszer

escape() funkció lehet használni, hogy kihagyja, vagy nem felsorolni néhány fájlt ezek a nevek határozza meg a karaktereket. Például, ha át akarjuk hagyni a fájlokat, akkor ezek a nevek tartalmazzák - vagy _ vagy # használhatjuk az escape() függvényt ezeknek a karaktereknek a megadásával.

chars_skip = "-_#"
for char_skip in chars_skip:
esc_set = "*" + glob.escape(char_skip)+ "*" + ".txt"
for txt in (glob.glob(esc_set)):
print(txt)

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.