„Python“

„Python Glob“ funkcija

„Python Glob“ funkcija

„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.

Kaip naudoti „Xdotool“, norint paskatinti pelės paspaudimus ir klavišų paspaudimus sistemoje „Linux“
„Xdotool“ yra nemokamas ir atviro kodo komandinės eilutės įrankis, skirtas pelės paspaudimams ir klavišų paspaudimams imituoti. Šis straipsnis apims t...
5 populiariausi „Linux“ skirtų ergonomiškų kompiuterinių pelių produktai
Ar ilgalaikis kompiuterio naudojimas sukelia riešo ar pirštų skausmą?? Ar jūs kenčiate nuo sąnarių standumo ir nuolat turite paspausti rankas? Ar jauč...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...