Cum se repetă peste fișierele din director folosind Python?
Director De asemenea, uneori cunoscute sub numele de folder sunt structura organizatorică a unității în sistemul de fișiere al unui sistem pentru stocarea și localizarea fișierelor sau a mai multor foldere. Python ca limbaj de scripting oferă diverse metode pentru iterează peste fișierele dintr-un director.
Mai jos sunt diferitele abordări prin care se pot itera fișiere dintr-un director folosind python:
Metoda 1: os.listdir()
Această funcție returnează lista de fișiere și subdirectoare prezente în directorul dat. Putem filtra lista pentru a obține doar fișierele utilizate os.path.isfile() funcţie:
Exemplu:
Python3
# import required module> import> os> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> filename> in> os.listdir(directory):> > f> => os.path.join(directory, filename)> > # checking if it is a file> > if> os.path.isfile(f):> > print> (f)> |
Ieșire:
Metoda 2: os.scandir()
Această metodă este folosită pentru a obține un iterator de os.DirEntry obiecte corespunzătoare intrărilor din directorul dat de calea specificată.
Exemplu:
Python3
# import required module> import> os> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> filename> in> os.scandir(directory):> > if> filename.is_file():> > print> (filename.path)> |
Ieșire:
Metoda 3: modulul pathlib
Putem itera peste fișiere dintr-un director folosind Path.glob() funcție care globalizează modelul specificat în directorul dat și generează fișierele potrivite. Path.glob(‘*’) produce toate fișierele din directorul dat
Exemplu:
Python3
# import required module> from> pathlib> import> Path> # assign directory> directory> => 'files'> # iterate over files in> # that directory> files> => Path(directory).glob(> '*'> )> for> file> in> files:> > print> (> file> )> |
Ieșire:
Metoda 4: os.walk()
De asemenea, putem căuta subdirectoare folosind această metodă, deoarece generează un tuplu de 3 (dirpath, nume de nume, nume de fișiere) .
- rădăcină : Imprimă directoare numai din ceea ce ați specificat.
- Spune : Imprimă subdirectoare de la rădăcină.
- fișiere : Imprimă toate fișierele din rădăcină și directoare.
Python3
# import required module> import> os> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> root, dirs, files> in> os.walk(directory):> > for> filename> in> files:> > print> (os.path.join(root, filename))> |
Ieșire:
Metoda 5: modul glob
The glob.iglob() funcția returnează un iterator peste lista de căi care se potrivesc cu modelul dat.
Exemplu:
Python3
# import required module> import> glob> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> filename> in> glob.iglob(f> '{directory}/*'> ):> > print> (filename)> |
Ieșire: