Imenik včasih znana tudi kot mapa, je organizacijska struktura enote v datotečnem sistemu sistema za shranjevanje in iskanje datotek ali več map. Python kot skriptni jezik ponuja različne metode zaiterirati po datotekah v imeniku.
Spodaj so različni pristopi, s pomočjo katerih je mogoče iterirati po datotekah v imeniku s pomočjo pythona:
1. način: os.listdir()
Ta funkcija vrne seznam datoteke in podimeniki prisoten v danem imeniku. Seznam lahko filtriramo, da dobimo samo datoteke, ki uporabljajo os.path.isfile() funkcija:
primer:
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)> |
>
>
Izhod:

2. način: os.scandir()
Ta metoda se uporablja za pridobitev iteratorja os.DirEntry predmeti, ki ustrezajo vnosom v imeniku, podanem z določeno potjo.
primer:
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)> |
>
>
Izhod:

3. način: modul pathlib
Datoteke v imeniku lahko ponavljamo z uporabo Path.glob() funkcija, ki podani vzorec pospravi v dani imenik in vrne ujemajoče se datoteke. Path.glob('*') pridobi vse datoteke v danem imeniku
primer:
Python3
foreach java
# 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>)> |
>
>
Izhod:

4. način: os.walk()
S to metodo lahko iščemo tudi podimenike, saj daje 3-tuple (dirpath, imena datotek, imena datotek) .
- korenina : Natisne samo imenike iz tistega, kar ste določili.
- reči : Natisne podimenike iz korena.
- datoteke : Natisne vse datoteke iz korena in imenikov.
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))> |
>
>
Izhod:

5. način: glob modul
The glob.iglob() funkcija vrne iterator nad seznamom imen poti, ki se ujemajo z danim vzorcem.
primer:
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)> |
>
>
Izhod:
