„Python“ yra viena iš plačiausiai naudojamų bendrosios paskirties programavimo kalbų pastaruoju metu. Jame pateikiama daugybė įmontuotų modulių, funkcijų ir raktinių žodžių, kad būtų galima atlikti su failais susijusias užduotis. Globas yra terminas, nurodantis metodus, naudojamus tam tikriems modeliams suderinti pagal UNIX su apvalkalu susijusias taisykles. „Linux“ ir UNIX operacinės sistemos teikia funkciją „glob“ (), kad rastų failus ir katalogus pagal nurodytą modelį. „Python“ taip pat pateikia įmontuotą „Glob“ modulį, kad būtų galima pasiekti arba nuskaityti failus ir kelių pavadinimus, atitinkančius nurodytą šabloną. Šiame straipsnyje aprašytoms užduotims naudosime modulio „Python glob ()“ funkciją. Šiame straipsnyje paaiškinta, kaip naudoti funkciją glob (), norint rasti kelius ir failų pavadinimus pagal pateiktą šabloną.
1 pavyzdys: suderinkite failo vardą arba kelio pavadinimą su absoliučiu keliu
Pažvelkime į keletą pavyzdžių, kad suprastume funkcijos glob () funkciją ir veikimą. Pradėsime nuo paprasto failo vardo ar kelio pavadinimo suderinimo su absoliučiu keliu pavyzdžio. Jei failo vardas ar kelio pavadinimas sutampa su absoliučiu keliu, tada funkcija glob () grąžina atitikmenis sąrašo forma; priešingu atveju funkcija glob () pateikia tuščią sąrašą.
#importuoti glob modulįimporto pasaulis
#naudojant glob funkciją, kad kelio pavadinimas atitiktų absoliutų kelią
#matching absoliutus atsisiuntimų katalogo kelias
spausdinti (glob.glob ("/ home / linuxhint / Downloads"))
#matching absoliutus dokumentų katalogo kelias
spausdinti (glob.glob ("/ home / linuxhint / Documents"))
#matching absoliutus darbalaukio kelias
spausdinti (glob.glob ("/ home / linuxhint / Desktop"))
#matching absoliutus failų kelias
spausdinti (glob.glob ("/ home / linuxhint / Desktop / scenarijus.sh "))
spausdinti (glob.glob ("/ home / linuxhint / Atsisiuntimai / formatas.py "))
spausdinti (glob.glob ("/ home / linuxhint / Dokumentai / skaičiuoklė.py "))
#specifying ne failo kelias
Funkcija # glob grąžins tuščią sąrašą
spausdinti (glob.glob ("/ home / linuxhint / Documents / myfile.py "))
Rezultatas
Išvestyje rodomos rungtynės.
2 pavyzdys: Pakaitos simbolių naudojimas kelio paieškai
Kelio paieškai galima naudoti pakaitos simbolius su funkcija glob (). Dažniausiai naudojami pakaitos simboliai yra žvaigždutė (*), klaustukas (?), skaičių diapazonas [0–9] ir abėcėlės diapazonas [a – z]. Pirmiausia aptarsime žvaigždutės naudojimą funkcijoje glob ().
Žvaigždutės (*) pakaitos naudojimas kelio paieškai
Žvaigždutės pakaitos kortelės operatorius naudojamas nuliui ar daugiau absoliutaus kelio simbolių. Jei žvaigždute nenurodytas (-i) simbolis (-iai), funkcija nurodys absoliutų visų nurodyto kelio failų, katalogų ir pakatalogių kelią. Kai kuriuos simbolius taip pat galite parašyti žvaigždute ir jis atitiks absoliutų kelią pagal pateiktus simbolius. Pavyzdžiui, jei jums reikia rasti absoliutų kelią .txt failus, tada * pakaitos simbolis gali būti naudojamas kaip *.txt.
Tai įgyvendinsime savo „Python“ scenarijuje.
#importuoti glob modulįimporto pasaulis
#finding failų ir katalogų kelio paieška
spausdinti (glob.glob ("/ home / linuxhint / Downloads / *"))
spausdinti ("----------------------------------------")
#find absoliutaus kelio radimas .txt failus darbalaukio kataloge
spausdinti (glob.glob ("/ home / linuxhint / Desktop / *.txt "))
spausdinti ("----------------------------------------")
#find absoliutaus kelio radimas .sh failus darbalaukio kataloge
spausdinti (glob.glob ("/ home / linuxhint / Desktop / *.sh "))
spausdinti ("----------------------------------------")
#find absoliutaus kelio radimas .py failus aplanke Dokumentai
spausdinti (glob.glob ("/ home / linuxhint / Dokumentai / *.py "))
spausdinti ("----------------------------------------")
Rezultatas
Išvestis rodo absoliutų failų ir katalogų kelią pagal apibrėžtas „globe“ () funkcijos taisykles.
Klausiamojo ženklo naudojimas (?) Pakaitos simbolių operatorius
Klausiamasis ženklas (?) pakaitos simbolis naudojamas norint suderinti vieną simbolį. Tai gali būti naudinga tais atvejais, kai nežinote vieno simbolio šiame varde.
Tai įgyvendinsime savo „Python“ scenarijuje.
#importuoti glob modulįimporto pasaulis
#finding failą su pakaitos simbolio operatoriumi
spausdinti (glob.glob ("/ home / linuxhint / darbalaukis / failas?.txt "))
Rezultatas
Išvestyje rodomi suderinti failai.
Naudojant Range Wildcard Operator
Diapazono pakaitos operatorius naudojamas failams suderinti nurodytame simbolių ar skaičių diapazone. Diapazonas yra apibrėžtas laužtiniuose skliaustuose [].
Absoliutų failų kelią rasime apibrėždami diapazoną.
#importuoti glob modulįimporto pasaulis
#finding absoliutaus failų kelio tam tikrame diapazone
# apibrėžti diapazoną simboliais
spausdinti (glob.glob ("/ home / linuxhint / Desktop / [a-f] *"))
# punktyrinės linijos spausdinimas, kad būtų galima diferencijuoti išvestį
spausdinti ("------------------------------------------")
# diapazono apibrėžimas skaičiais
spausdinti (glob.glob ("/ home / linuxhint / Desktop / [1-5] *"))
Rezultatas
Rasti failus rekursyviai naudojant glob ()
Funkcija „Glob“ argumentu naudoja du parametrus. Pirmasis parametras apibrėžia kelio pavadinimą, o antrasis parametras - rekursinę ypatybę. Antrasis parametras yra neprivalomas, o rekursinė ypatybė yra nustatyta kaip „klaidinga“ pagal numatytuosius nustatymus. Tačiau rekursinę ypatybę galite nustatyti į „true“, kad failo kelias būtų rekursyvus.
Mes nustatysime rekurzinę nuosavybę, lygią „true“, mūsų „Python“ scenarijuje ir rekursyviai rasime absoliutų failų kelią.
#importuoti glob modulįimporto pasaulis
# failų paieška rekursyviai
spausdinti (glob.glob ("/ home / linuxhint / Documents / *", rekursyvus = True))
Rezultatas
Išvada
„Glob“ yra įprastas terminas, nurodantis metodus, naudojamus tam tikriems modeliams suderinti pagal UNIX su apvalkalu susijusias taisykles. „Python“ pateikia įmontuotą „Glob“ modulį ir funkciją, leidžiančią pasiekti kelių pavadinimus pagal nurodytas taisykles. Šiame straipsnyje paaiškinta, kaip naudoti funkciją glob (), norint rasti kelių pavadinimus su įvairiais pavyzdžiais.