Я рекомендую os.walk
.
Если у вас есть каталоги типа:
project/
- folder1/
- file1.png
- file2.jpg
- folder2/
- file3.zip
Тогда пример кода:
import os
for dirpath, dirnames, filenames in os.walk(os.getcwd()): # getcwd() for current work dir
print(dirpath, dirnames, filenames)
Вывод:
/project ['folder1', 'folder2'] []
/project/folder1 [] ['file1.png', 'file2.jpg']
/project/folder2 [] ['file3.zip']
Если вам нужна папка, имя файла, используйте для цикла:
for dirname in dirnames:
for filename in filenames:
# split dirname for categories
# and so on..