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