logo

Hvordan iterere over filer i katalogen ved hjelp av Python?

Katalog også noen ganger kjent som en mappe er enhetsorganisasjonsstruktur i et systems filsystem for lagring og lokalisering av filer eller flere mapper. Python som skriptspråk gir ulike metoder for åiterere over filer i en katalog.

Nedenfor er de forskjellige tilnærmingene ved å bruke som man kan iterere over filer i en katalog ved hjelp av python:

Metode 1: os.listdir()



Denne funksjonen returnerer listen over filer og underkataloger finnes i den gitte katalogen. Vi kan filtrere listen for å få bare filene som bruker os.path.isfile() funksjon:

Eksempel:

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

>

>

Produksjon:

Metode 2: os.scandir()

Denne metoden brukes for å få en iterator av os.DirEntry objekter som tilsvarer oppføringene i katalogen gitt av spesifisert bane.

Eksempel:

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

>

>

Produksjon:

Metode 3: pathlib-modulen

Vi kan iterere over filer i en katalog ved hjelp av Path.glob() funksjon som globber det angitte mønsteret i den gitte katalogen og gir de samsvarende filene. Path.glob(‘*’) gi alle filene i den gitte katalogen

Eksempel:

Python3


java len av array



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

>

>

Produksjon:

Metode 4: os.walk()

Vi kan også søke etter underkataloger ved å bruke denne metoden da den gir en 3-tuppel (dirpath, dirnames, filnavn) .

  • rot : Skriver ut kataloger kun fra det du spesifiserte.
  • si : Skriver ut underkataloger fra roten.
  • filer : Skriver ut alle filer fra rot og kataloger.

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

>

>

Produksjon:

Metode 5: glob modul

De glob.iglob() funksjonen returnerer en iterator over listen over banenavn som samsvarer med det gitte mønsteret.

Eksempel:

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

>

>

Produksjon: