Python este unul dintre cele mai utilizate limbaje de programare de uz general din ultima vreme. Acesta oferă multe module, funcții și cuvinte cheie încorporate pentru a efectua sarcini legate de fișiere. Un glob este un termen care se referă la tehnicile utilizate pentru a potrivi anumite tipare în conformitate cu regulile legate de shell-ul UNIX. Sistemele de operare bazate pe Linux și UNIX oferă funcția glob() pentru a găsi fișiere și directoare în conformitate cu un anumit model. Python oferă, de asemenea, un modul glob încorporat pentru a accesa sau a prelua fișiere și nume de căi care se potrivesc cu un model specificat. Vom utiliza funcția Python glob() din modulul glob pentru sarcinile descrise în acest articol. Acest articol explică modul de utilizare a funcției glob() pentru a găsi nume de căi de acces și nume de fișiere în conformitate cu un model dat.
- Exemplu 1: Potrivirea numelui de fișier sau a numelui de cale de acces cu calea de acces absolută
- Exemplu 2: Utilizarea caracterelor joker pentru regăsirea căilor de acces
- Utilizarea unui asterisc (*) wildcard pentru regăsirea căii de acces
- Utilizarea unui operator wildcard cu semnul întrebării (?)
- Utilizarea unui operator wildcard de interval
- Căutarea recurentă a fișierelor folosind glob()
- Concluzie
Exemplu 1: Potrivirea numelui de fișier sau a numelui de cale de acces cu calea de acces absolută
Să analizăm câteva exemple pentru a înțelege funcționarea și lucrul funcției glob(). Vom începe cu un exemplu simplu de potrivire a numelui de fișier sau a numelui de traseu cu calea absolută. Dacă numele de fișier sau numele de cale se potrivește cu calea absolută, atunci funcția glob() returnează potrivirile sub forma unei liste; în caz contrar, funcția glob() returnează o listă goală.
import glob
#utilizarea funcției glob pentru a potrivi numele de drum cu calea absolută
#potrivirea căii absolute a directorului downloads
print(glob.glob(“/home/linuxhint/Downloads”))
#potrivirea căii absolute a directorului documents
print(glob.glob(“/home/linuxhint/Documents”))
#corespunderea căii absolute a Desktop-ului
print(glob.glob(“/home/linuxhint/Desktop”))
#corespunderea căii absolute a fișierelor
print(glob.glob(“/home/linuxhint/Desktop/script.sh”))
print(glob.glob(“/home/linuxhint/Downloads/format.py”))
print(glob.glob(“/home/linuxhint/Documents/calculator.py”))
#specificarea căii unui fișier care nu există
#funcția glob va returna lista goală
print(glob.glob(“/home/linuxhint/Documents/myfile.py”))
Ieșire
Ieșirea arată corespondențele.
Exemplu 2: Utilizarea caracterelor joker pentru regăsirea căilor de acces
Este posibil să se utilizeze caractere joker cu funcția glob() pentru regăsirea căilor de acces. Cele mai frecvent utilizate wildcards sunt asteriscul (*), semnul întrebării (?), intervalul de numere , și intervalul de alfabete . Mai întâi, vom discuta despre utilizarea asteriscului în funcția glob().
Utilizarea unui asterisc (*) wildcard pentru regăsirea căii de acces
Operatorul wildcard asterisc este utilizat pentru a potrivi zero sau mai multe caractere ale căii absolute. Dacă nu se specifică niciun caracter (caractere) cu asterisc, atunci funcția va lista calea absolută a tuturor fișierelor, directoarelor și subdirectoarelor din calea dată. Puteți, de asemenea, să scrieți câteva caractere cu asterisc, iar funcția va potrivi calea absolută pe baza caracterelor date. De exemplu, dacă aveți nevoie să găsiți calea absolută a fișierelor .txt, atunci wildcardul * poate fi folosit ca *.txt.
Vom implementa acest lucru în scriptul nostru Python.
import glob
#găsind calea absolută a fișierelor și directoarelor
print(glob.glob(“/home/linuxhint/Downloads/*”))
print(“—————————————-“)
#găsirea căii absolute a fișierelor .txt din directorul Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.txt”))
print(“—————————————-“)
#găsirea căii absolute a fișierelor .sh din directorul Desktop
print(glob.glob(“/home/linuxhint/Desktop/*.sh”))
print(“—————————————-“)
#găsirea căii absolute a fișierelor .py din directorul Documents
print(glob.glob(“/home/linuxhint/Documents/*.py”))
print(“—————————————-“)
Imprimare
Imprimarea arată calea absolută a fișierelor și directoarelor în conformitate cu regulile definite în funcția glob().
Utilizarea unui operator wildcard cu semnul întrebării (?)
Operatorul wildcard cu semnul întrebării (?) este utilizat pentru a potrivi un singur caracter. Acest lucru poate fi util în situațiile în care nu cunoașteți un singur caracter în numele dat.
Vom implementa acest lucru în scriptul nostru Python.
import glob
#găsind fișierul cu operatorul wildcard *
print(glob.glob(“/home/linuxhint/Desktop/file?.txt”)))
Salire
Salirea arată fișierele potrivite.
Utilizarea unui operator wildcard de interval
Operatorul wildcard de interval este utilizat pentru a potrivi fișiere într-un anumit interval de caractere sau numere. Intervalul este definit în interiorul parantezelor pătrate .
Vom găsi calea absolută a fișierelor prin definirea intervalului.
import glob
#găsirea căii absolute a fișierelor dintr-un interval dat
#definirea intervalului în caractere
print(glob.glob(“/home/linuxhint/Desktop/*”))
#imprimarea liniei punctate pentru a diferenția ieșirea
print(“——————————————“)
#definirea intervalului în numere
print(glob.glob(“/home/linuxhint/Desktop/*”))
Output
Căutarea recurentă a fișierelor folosind glob()
Funcția glob primește ca argument doi parametri. Primul parametru definește calea de acces, iar cel de-al doilea parametru definește proprietatea recursivă. Al doilea parametru este opțional, iar proprietatea recursivă este setată implicit la “false”. Cu toate acestea, puteți seta proprietatea recursivă la “true” pentru a găsi calea fișierului în mod recursiv.
Vom seta proprietatea recursivă egală cu “true” în scriptul nostru Python și vom găsi calea absolută a fișierelor în mod recursiv.
import glob
#găsirea fișierelor în mod recursiv
print(glob.glob(“/home/linuxhint/Documents/*”,recursive=True))
Output
Concluzie
Glob este un termen comun care se referă la tehnicile utilizate pentru a potrivi anumite tipare în conformitate cu regulile legate de shell-ul UNIX. Python oferă un modul și o funcție glob încorporată pentru accesarea numelor de căi de acces în conformitate cu reguli date. Acest articol explică modul de utilizare a funcției glob() pentru a găsi nume de căi de acces cu diverse exemple.
.