Adresár niekedy tiež známe ako priečinok, sú organizačnou štruktúrou jednotiek v systémovom systéme súborov na ukladanie a lokalizáciu súborov alebo viacerých priečinkov. Python ako skriptovací jazyk poskytuje rôzne metódyiterovať cez súbory v adresári.
Nižšie sú uvedené rôzne prístupy, pomocou ktorých je možné iterovať súbory v adresári pomocou pythonu:
Metóda 1: os.listdir()
Táto funkcia vráti zoznam súbory a podadresáre prítomný v danom adresári. Zoznam môžeme filtrovať, aby sme získali iba súbory, ktoré používame os.path.isfile() funkcia:
Príklad:
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)> |
>
>
Výkon:

Metóda 2: os.scandir()
Táto metóda sa používa na získanie iterátora os.DirEntry objekty zodpovedajúce záznamom v adresári zadanom zadanou cestou.
Príklad:
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)> |
>
>
Výkon:

Metóda 3: modul pathlib
Súbory v adresári môžeme iterovať pomocou Path.glob() funkciu, ktorá glob zadaný vzor v danom adresári a poskytne zodpovedajúce súbory. Path.glob(‘*’) získať všetky súbory v danom adresári
Príklad:
Python3
čo je špeciálny znak
# 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>)> |
>
>
Výkon:

Metóda 4: os.walk()
Pomocou tejto metódy môžeme tiež vyhľadávať podadresáre, pretože výsledkom je 3-násobok (dirpath, dirname, názvy súborov) .
- koreň : Vytlačí len adresáre z toho, čo ste zadali.
- povedať : Vytlačí podadresáre z koreňového adresára.
- súbory : Vytlačí všetky súbory z koreňového adresára a adresárov.
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))> |
>
>
Výkon:

Metóda 5: modul glob
The glob.iglob() funkcia vracia iterátor nad zoznamom názvov ciest, ktoré zodpovedajú danému vzoru.
Príklad:
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)> |
>
>
Výkon:
