Python je jedan od najčešće korištenih programskih jezika opće namjene u posljednje vrijeme. Pruža brojne ugrađene module, funkcije i ključne riječi za izvršavanje zadataka povezanih s datotekama. Glob je pojam koji se odnosi na tehnike korištene za podudaranje određenih uzoraka prema pravilima vezanim uz UNIX ljusku. Operativni sustavi zasnovani na Linuxu i UNIX-u pružaju funkciju glob () za pronalaženje datoteka i direktorija prema zadanom obrascu. Python također nudi ugrađeni glob modul za pristup datotekama i imenima staza koje odgovaraju navedenom uzorku ili ih dohvaća. Za zadatke opisane u ovom članku koristit ćemo funkciju Python glob () modula glob. Ovaj članak objašnjava kako pomoću funkcije glob () pronaći nazive staza i imena datoteka prema zadanom obrascu.
Primjer 1: Uskladite ime datoteke ili naziv puta s apsolutnim putem
Pogledajmo nekoliko primjera kako bismo razumjeli funkcioniranje i rad funkcije glob (). Započet ćemo s jednostavnim primjerom podudaranja imena datoteke ili puta s apsolutnim putem. Ako se naziv datoteke ili naziv staze podudara s apsolutnom stazom, funkcija glob () vraća podudaranja u obliku popisa; u suprotnom, funkcija glob () vraća prazan popis.
#importing glob modulauvoz glob
# koristeći funkciju glob za podudaranje naziva puta s apsolutnim putem
#matching apsolutni put direktorija preuzimanja
ispis (glob.glob ("/ home / linuxhint / Downloads"))
#matching apsolutni put direktorija dokumenata
ispis (glob.glob ("/ home / linuxhint / Documents"))
#matching apsolutni put radne površine
ispis (glob.glob ("/ home / linuxhint / Desktop"))
#matching apsolutni put datoteka
ispis (glob.glob ("/ home / linuxhint / Desktop / script.sh "))
ispis (glob.glob ("/ home / linuxhint / Downloads / format.py "))
ispis (glob.glob ("/ home / linuxhint / Documents / calculator.py "))
#navođenje puta datoteke koja ne postoji
# funkcija glob vratit će prazan popis
ispis (glob.glob ("/ home / linuxhint / Documents / myfile.py "))
Izlaz
Izlaz prikazuje podudaranja.
Primjer 2: Korištenje zamjenskih znakova za pronalaženje puta
Za pronalaženje puta moguće je koristiti zamjenske znakove s funkcijom glob (). Zamjenski znakovi koji se najčešće koriste su zvjezdica (*), upitnik (?), raspon brojeva [0-9] i abeceda raspon [a-z]. Prvo ćemo razgovarati o upotrebi zvjezdice u funkciji glob ().
Upotreba zamjenskog znaka zvjezdice (*) za pronalaženje puta
Zvjezdani operater zamjenskog znaka koristi se za podudaranje nula ili više znakova apsolutne staze. Ako sa zvjezdicom nisu navedeni nikakvi znakovi, tada će funkcija navesti apsolutni put svih datoteka, direktorija i poddirektorijuma zadane staze. Zvjezdicom također možete napisati neke znakove i to će odgovarati apsolutnom putu na temelju zadanih znakova. Na primjer, ako trebate pronaći apsolutni put .txt datoteke, tada se * zamjenski znak može koristiti kao *.txt.
To ćemo implementirati u našu Python skriptu.
#uvoz modula globuvoz glob
# pronalaženje apsolutnog puta datoteka i direktorija
ispis (glob.glob ("/ home / linuxhint / Downloads / *"))
ispis ("----------------------------------------")
# pronalaženje apsolutnog puta .txt datoteke u direktoriju Desktop
ispis (glob.glob ("/ home / linuxhint / Desktop / *.txt "))
ispis ("----------------------------------------")
# pronalaženje apsolutnog puta .sh datoteke u direktoriju Desktop
ispis (glob.glob ("/ home / linuxhint / Desktop / *.sh "))
ispis ("----------------------------------------")
# pronalaženje apsolutnog puta .py datoteke u direktoriju Dokumenti
ispis (glob.glob ("/ home / linuxhint / Documents / *.py "))
ispis ("----------------------------------------")
Izlaz
Izlaz prikazuje apsolutni put datoteka i direktorija prema definiranim pravilima u funkciji globe ().
Korištenje upitnika (?) Operator zamjenskih znakova
Znak pitanja (?) zamjenski operator koristi se za podudaranje s jednim znakom. To može biti korisno u situacijama kada niste svjesni niti jednog znaka u danom imenu.
To ćemo implementirati u našu Python skriptu.
#importing glob modulauvoz glob
# pronalaženje datoteke pomoću * zamjenskog operatora
ispis (glob.glob ("/ home / linuxhint / Desktop / datoteka?.txt "))
Izlaz
Izlaz prikazuje odgovarajuće datoteke.
Upotreba operativnog zamjenskog znaka dometa
Zamjenski operator raspona koristi se za podudaranje datoteka u zadanom rasponu znakova ili brojeva. Raspon je definiran unutar uglatih zagrada [].
Apsolutni put datoteka pronaći ćemo definiranjem raspona.
#uvoz modula globuvoz glob
# pronalaženje apsolutnog puta datoteka u zadanom rasponu
#definiranje raspona u znakovima
ispis (glob.glob ("/ home / linuxhint / Desktop / [a-f] *"))
#print isprekidana crta za razlikovanje rezultata
ispis ("------------------------------------------")
#definiranje raspona u brojevima
ispis (glob.glob ("/ home / linuxhint / Desktop / [1-5] *"))
Izlaz
Rekurzivno pronalaženje datoteka pomoću glob ()
Glob funkcija kao argument uzima dva parametra. Prvi parametar definira naziv puta, a drugi parametar definira rekurzivno svojstvo. Drugi je parametar neobavezan, a rekurzivno svojstvo je prema zadanim postavkama postavljeno na "false". Međutim, rekurzivno svojstvo možete postaviti na "true" da biste rekurzivno pronašli put do datoteke.
Postavit ćemo rekurzivno svojstvo jednako "true" u našoj Python skripti i pronaći ćemo apsolutni put datoteka rekurzivno.
#importing glob modulauvoz glob
# pronalaženje datoteka rekurzivno
ispis (glob.glob ("/ home / linuxhint / Documents / *", rekurzivno = True))
Izlaz
Zaključak
Glob je uobičajeni pojam koji se odnosi na tehnike korištene za podudaranje određenih uzoraka prema pravilima vezanim uz UNIX ljusku. Python nudi ugrađeni glob modul i funkciju za pristup imenima staza prema zadanim pravilima. Ovaj članak objašnjava kako pomoću raznih funkcija koristiti glob () za pronalaženje putova.