Kuinka iteroida hakemistossa olevia tiedostoja Pythonilla?

Kuinka iteroida hakemistossa olevia tiedostoja Pythonilla?

Hakemisto Tunnetaan myös nimellä kansiot ovat yksikön organisaatiorakenne järjestelmän tiedostojärjestelmässä tiedostojen tai useamman kansion tallentamista ja paikantamista varten. Python komentosarjakielenä tarjoaa erilaisia ​​menetelmiä iteroida hakemistossa olevia tiedostoja.

Alla on erilaisia ​​lähestymistapoja, joilla voidaan iteroida hakemistossa olevia tiedostoja pythonilla:

Tapa 1: os.listdir()

Tämä funktio palauttaa luettelon tiedostot ja alihakemistoja annetussa hakemistossa. Voimme suodattaa luettelon saadaksemme vain käyttämät tiedostot os.path.isfile() toiminto:

Esimerkki:

Python 3




# 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)>

Lähtö:

Tapa 2: os.scandir()

Tätä menetelmää käytetään iteraattorin saamiseksi os.DirEntry objektit, jotka vastaavat määritetyn polun antamia merkintöjä hakemistossa.

Esimerkki:

Python 3




# 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)>

Lähtö:

Tapa 3: pathlib-moduuli

Voimme iteroida tiedostojen yli hakemistossa käyttämällä Path.glob() funktio, joka globaa määritetyn mallin annetussa hakemistossa ja tuottaa vastaavat tiedostot. Path.glob('*') tuottaa kaikki tiedostot tietyssä hakemistossa

Esimerkki:

Python 3




# 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> )>

Lähtö:

Tapa 4: os.walk()

Voimme myös etsiä alihakemistoja tällä menetelmällä, koska se tuottaa 3-tuplen (dirpath, dirnames, tiedostonimet) .

  • juuri : Tulostaa vain määrittämäsi hakemistot.
  • sanoa : Tulostaa alihakemistot juuresta.
  • tiedostot : Tulostaa kaikki tiedostot päähakemistosta ja hakemistoista.

Python 3




# 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))>

Lähtö:

Menetelmä 5: glob-moduuli

The glob.iglob() funktio palauttaa iteraattorin annettua mallia vastaavien polkunimien luetteloon.

Esimerkki:

Python 3




# import required module> import> glob> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> filename> in> glob.iglob(f> '{directory}/*'> ):> > print> (filename)>

Lähtö: