Python je jedným z najbežnejšie používaných univerzálnych programovacích jazykov v poslednej dobe. Poskytuje mnoho zabudovaných modulov, funkcií a kľúčových slov na vykonávanie úloh súvisiacich so súbormi. Glob je pojem, ktorý označuje techniky používané na priraďovanie konkrétnych vzorov podľa pravidiel týkajúcich sa shellu UNIX. Operačné systémy založené na Linuxe a UNIX poskytujú funkciu glob () na vyhľadanie súborov a adresárov podľa daného vzoru. Python tiež poskytuje vstavaný globálny modul na prístup alebo načítanie súborov a názvov ciest, ktoré sa zhodujú so zadaným vzorom. Na úlohy popísané v tomto článku budeme používať funkciu Python glob () modulu glob. Tento článok vysvetľuje, ako používať funkciu glob () na vyhľadanie názvov a názvov súborov podľa daného vzoru.
Príklad 1: Priraďte názov súboru alebo cestu k absolútnej ceste
Pozrime sa na niekoľko príkladov, aby sme pochopili fungovanie a fungovanie funkcie glob (). Začneme jednoduchým príkladom zhody názvu alebo cesty s absolútnou cestou. Ak sa názov súboru alebo cesta zhoduje s absolútnou cestou, potom funkcia glob () vráti zhody vo forme zoznamu; v opačnom prípade funkcia glob () vráti prázdny zoznam.
# import modulu globimport glob
#použitím funkcie glob na porovnanie názvu cesty s absolútnou cestou
# porovnanie absolútnej cesty adresára sťahovania
tlač (glob.glob ("/ home / linuxhint / Downloads"))
# porovnanie absolútnej cesty k adresáru dokumentov
tlač (glob.glob ("/ home / linuxhint / Documents"))
# porovnanie absolútnej cesty pracovnej plochy
tlač (glob.glob ("/ home / linuxhint / Desktop"))
# porovnanie absolútnej cesty k súborom
tlač (glob.glob ("/ home / linuxhint / Desktop / skript.sh "))
tlač (glob.glob ("/ home / linuxhint / Na stiahnutie / formát.py ")))
tlač (glob.glob ("/ home / linuxhint / Dokumenty / kalkulačka.py ")))
#specifying cesta k súboru, ktorý neexistuje
# funkcia glob vráti prázdny zoznam
tlač (glob.glob ("/ home / linuxhint / Documents / myfile.py ")))
Výkon
Výstup zobrazuje zhody.
Príklad 2: Použitie zástupných znakov na získanie cesty
Na získanie cesty je možné použiť zástupné znaky s funkciou glob (). Najbežnejšie používané zástupné znaky sú hviezdička (*), otáznik (?), rozsah čísel [0-9] a rozsah abecedy [a-z]. Najskôr si rozoberieme použitie hviezdičky vo funkcii glob ().
Použitie zástupného znaku hviezdičky (*) na získanie cesty
Operátor zástupných znakov hviezdičky sa používa na priradenie nula alebo viacerých znakov absolútnej cesty. Ak s hviezdičkou nie sú zadané žiadne znaky, funkcia vypíše absolútnu cestu ku všetkým súborom, adresárom a podadresárom danej cesty. Môžete tiež napísať niektoré znaky hviezdičkou a bude zodpovedať absolútnej ceste založenej na daných znakoch. Napríklad, ak potrebujete nájsť absolútnu cestu k .súbory txt, potom je možné použiť * zástupný znak ako *.TXT.
Toto implementujeme do nášho skriptu v jazyku Python.
# import modulu globimport glob
# nájdenie absolútnej cesty k súborom a adresárom
tlač (glob.glob ("/ home / linuxhint / Downloads / *"))
print ("----------------------------------------")
# nájdenie absolútnej cesty súboru .súbory txt v adresári Desktop
tlač (glob.glob ("/ home / linuxhint / Desktop / *.TXT"))
print ("----------------------------------------")
# nájdenie absolútnej cesty súboru .sh súbory v adresári Desktop
tlač (glob.glob ("/ home / linuxhint / Desktop / *.sh "))
print ("----------------------------------------")
# nájdenie absolútnej cesty súboru .py súbory v adresári Dokumenty
tlač (glob.glob ("/ home / linuxhint / Documents / *.py ")))
print ("----------------------------------------")
Výkon
Výstup zobrazuje absolútnu cestu k súborom a adresárom podľa definovaných pravidiel vo funkcii globe ().
Používanie otáznika (?) Prevádzkovateľ zástupných znakov
Otáznik (?) operátor zástupných znakov sa používa na priradenie jedného znaku. To môže byť užitočné v situáciách, keď neviete o jednom znaku v danom mene.
Toto implementujeme do nášho skriptu v jazyku Python.
#importovanie globálneho moduluimport glob
# nájdenie súboru pomocou operátora * zástupných znakov
tlač (glob.glob ("/ home / linuxhint / Desktop / súbor?.TXT"))
Výkon
Výstup zobrazuje priradené súbory.
Používanie operátora zástupných znakov rozsahu
Operátor zástupných znakov rozsahu sa používa na priradenie súborov v danom rozsahu znakov alebo čísel. Rozsah je definovaný v hranatých zátvorkách [].
Absolútnu cestu k súborom nájdeme definovaním rozsahu.
#importovanie globálneho moduluimport glob
# nájdenie absolútnej cesty k súborom v danom rozsahu
# definovanie rozsahu v znakoch
tlač (glob.glob ("/ home / linuxhint / Desktop / [a-f] *"))
#tlačením prerušovanej čiary odlíšite výstup
print ("------------------------------------------")
# definovanie rozsahu v číslach
tlač (glob.glob ("/ home / linuxhint / Desktop / [1-5] *"))
Výkon
Nájsť rekurzívne súbory pomocou glob ()
Funkcia glob berie ako argument dva parametre. Prvý parameter definuje cestu a druhý parameter definuje rekurzívnu vlastnosť. Druhý parameter je voliteľný a rekurzívna vlastnosť je predvolene nastavená na „false“. Rekurzívnu vlastnosť však môžete nastaviť na „true“, aby ste našli cestu k súboru rekurzívne.
V našom skripte Python nastavíme rekurzívnu vlastnosť na „true“ a rekurzívne nájdeme absolútnu cestu k súborom.
# import modulu globimport glob
# hľadanie súborov rekurzívne
tlač (glob.glob ("/ home / linuxhint / Documents / *", rekurzívne = True))
Výkon
Záver
Glob je bežný pojem, ktorý označuje techniky používané na priraďovanie konkrétnych vzorov podľa pravidiel týkajúcich sa shellu UNIX. Python poskytuje vstavaný globálny modul a funkciu na prístup k názvom ciest podľa daných pravidiel. Tento článok vysvetľuje, ako pomocou funkcie glob () vyhľadať názvy ciest, a to pomocou rôznych príkladov.