Cum să utilizați modulul glob al lui Python pentru a găsi fișiere după model
Modulul glob
din Python este un instrument puternic pentru a găsi fișiere și directoare care se potrivesc cu un model specificat. Este deosebit de util atunci când trebuie să căutați fișiere cu extensii sau nume specifice într-un director. Acest articol vă va ghida prin utilizarea modulului glob
pentru a localiza fișierele în mod eficient.
Introducere în modulul glob
Modulul glob
oferă o modalitate de a lista fișiere și directoare folosind caractere jokere în stil shell Unix. Acest lucru este util pentru activități precum căutările de fișiere, procesarea în loturi și multe altele. Modulul include funcții care vă permit să potriviți numele fișierelor cu modele, facilitând gestionarea fișierelor.
Utilizarea de bază a glob
Pentru a utiliza modulul glob
, va trebui să-l importați și apoi să utilizați funcția glob.glob()
pentru a găsi fișiere care corespund unui model. Modelele pe care le utilizați pot include metacaractere precum *
(se potrivește cu orice număr de caractere) și ?
(se potrivește cu un singur caracter).
Exemple
Găsirea fișierelor cu o anumită extensie
De exemplu, pentru a găsi toate fișierele cu extensia .txt
într-un director, puteți utiliza:
import glob
# Find all .txt files in the current directory
txt_files = glob.glob('*.txt')
print(txt_files)
Găsirea fișierelor într-un subdirector
Pentru a găsi toate fișierele cu o anumită extensie într-un subdirector, specificați subdirectorul în model:
import glob
# Find all .jpg files in the 'images' subdirectory
jpg_files = glob.glob('images/*.jpg')
print(jpg_files)
Utilizarea wildcards
Wildcards vă pot ajuta să potriviți o gamă mai largă de fișiere. De exemplu, pentru a găsi toate fișierele text care încep cu "report":
import glob
# Find all files starting with 'report' and ending with .txt
report_files = glob.glob('report*.txt')
print(report_files)
Găsirea fișierelor cu extensii multiple
De asemenea, puteți utiliza glob
pentru a găsi fișiere cu extensii multiple, utilizând un model care include mai multe potriviri cu caractere joker:
import glob
# Find all .txt and .md files
files = glob.glob('*.txt') + glob.glob('*.md')
print(files)
Utilizare avansată
Pe lângă modelele simple, modulul glob
acceptă modele mai complexe. De exemplu, puteți folosi modele precum **
pentru a căuta recursiv directoare.
Căutare recursiva
Pentru a căuta fișiere recursiv în toate subdirectoarele, utilizați modelul **
împreună cu argumentul recursive=True
:
import glob
# Find all .py files in the current directory and subdirectories
py_files = glob.glob('**/*.py', recursive=True)
print(py_files)
Concluzie
Modulul glob
este un instrument esențial pentru gestionarea fișierelor în Python, permițându-vă să căutați fișiere folosind modele cu ușurință. Indiferent dacă lucrați cu anumite tipuri de fișiere, căutați prin directoare sau efectuați căutări complexe, glob
oferă o soluție simplă și eficientă.