Cum se repetă peste fișierele din director folosind Python?

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: