====== Procházení obsahu adresáře ======
Ve svém řešení budete muset postupně procházet soubory umístěné v adresářích:
* obrázky v adresáři s trénovacími daty (abyste se z nich dokázali něco naučit, tj. odhadnout parametry modelu) a
* obrázky v adresáři s testovacími daty (abyste pro každý z nich mohli poskytnout predikci, jaké číslo či písmeno se na obrázku nachází).
Existuje více způsobů, jak to provést; zde uvedeme jen některé.
===== os.listdir() =====
Funkce ''listdir()'' ([[https://docs.python.org/3/library/os.html?highlight=listdir#os.listdir|docs]]) z modulu ''os'' vrací seznam jmen souborů v zadaném adresáři. Pokud např. máme na disku následující adresář se soubory
+- train_data
+- truth.dsv
+- img112.png
+- img113.png
+- img114.png
pak skript
import os
for fname in os.listdir("train_data"):
print(fname)
poskytne tento výstup:
img_1112.png
img_1113.png
img_1114.png
truth.dsv
Podobně lze použít i funkci [[https://docs.python.org/3/library/os.html?highlight=listdir#os.scandir|os.scandir()]], která vrací generátor.
===== Objektové rozhraní pomocí modulu ''pathlib'' =====
Má-li někdo z vás raději objektovější přístup, lze podobně použít třídu ''Path'' a její metodu ''iterdir()'' ([[https://docs.python.org/3/library/pathlib.html?highlight=iterdir#pathlib.Path.iterdir|docs]]):
from pathlib import Path
path = Path("train_data")
for fpath in path.iterdir():
print(fpath)
Po spuštění dostanete:
train_data\img_1112.png
train_data\img_1113.png
train_data\img_1114.png
train_data\truth.dsv
Generátor ''iterdir()'' vrací opět objekty třídy ''Path'', které obalují cesty k jednotlivým souborům. Ale i tyto objekty lze použít při otevírání souborů pomocí funkce ''open()''.
Další příklady použití modulu ''pathlib'' lze nalézt v tomto pěkném [[https://miguendes.me/python-pathlib|pathlib tutorialu]].