Ve svém řešení budete muset postupně procházet soubory umístěné v adresářích:
Existuje více způsobů, jak to provést; zde uvedeme jen některé.
Funkce 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.pngpak 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 os.scandir(), která vrací generátor.
Má-li někdo z vás raději objektovější přístup, lze podobně použít třídu Path
a její metodu 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 pathlib tutorialu.