Katalogas taip pat kartais žinomi kaip aplankai, yra vieneto organizacinė struktūra sistemos failų sistemoje, skirta failams ar daugiau aplankų saugoti ir rasti. Python kaip scenarijų kalba suteikia įvairių metodųkartokite failus kataloge.
Toliau pateikiami įvairūs metodai, kuriais galima kartoti failus kataloge naudojant python:
1 būdas: os.listdir()
Ši funkcija grąžina sąrašą failus ir pakatalogius yra nurodytame kataloge. Galime filtruoti sąrašą, kad gautume tik naudojamus failus os.path.isfile() funkcija:
Pavyzdys:
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)> |
>
>
Išvestis:

2 būdas: os.scandir()
Šis metodas naudojamas iteratoriui gauti os.DirEntry objektus, atitinkančius nurodytu keliu pateiktus katalogo įrašus.
Pavyzdys:
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)> |
>
>
Išvestis:

3 būdas: pathlib modulis
Galime kartoti failus kataloge naudodami Path.glob() funkcija, kuri apibrėžia nurodytą šabloną nurodytame kataloge ir pateikia atitinkamus failus. Path.glob('*') pateikti visus failus duotame kataloge
Pavyzdys:
Python3
... 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>)> |
>
>
Išvestis:

4 būdas: os.walk()
Taip pat galime ieškoti pakatalogių naudodami šį metodą, nes jis duoda 3 eilutę (dirpath, dirnames, failų pavadinimai) .
- šaknis : spausdina katalogus tik iš to, ką nurodėte.
- pasakyti : spausdina pakatalogius iš šakninio.
- failus : spausdina visus failus iš šakninių ir katalogų.
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))> |
>
>
Išvestis:

5 būdas: globos modulis
The glob.iglob() funkcija grąžina iteratorių per kelių pavadinimų sąrašą, atitinkantį nurodytą šabloną.
Pavyzdys:
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)> |
>
>
Išvestis:
