Есть такая структура файлов:
Folder 1
...└─── subfolder 1
........└─── img1.png
........└─── img2.png
........└─── img3.png
...└─── subfolder 2
........└─── img1.png
........└─── img2.png
........└─── img3.png
...└─── subfolder 3
........└─── img1.png
........└─── img2.png
........└─── img3.png
Folder 2
...└─── subfolder 1
........└─── img1.png
........└─── img2.png
........└─── img3.png
...└─── subfolder 2
........└─── img1.png
........└─── img2.png
........└─── img3.png
...└─── subfolder 3
........└─── img1.png
........└─── img2.png
........└─── img3.png
Folder 3
...└─── subfolder 1
........└─── img1.png
........└─── img2.png
........└─── img3.png
...└─── subfolder 2
........└─── img1.png
........└─── img2.png
........└─── img3.png
...└─── subfolder 3
........└─── img1.gif
........└─── img2.gif
........└─── img3.gif
Пытаюсь сделать скрипт на python, чтобы он автоматически проходил по всем папкам и в конечной папке создавал zip архив с теми файлами, которые находятся в этой папке. Имя архива должно быть такое же как и название папки.
То есть структура должна получится такой:
Folder 1
...└─── subfolder 1
........└─── img1.png
........└─── img2.png
........└─── img3.png
........└─── subfolder1.zip
................└─── img1.png
................└─── img2.png
................└─── img3.png
import os
import zipfile
os.chdir('asd/data2')
name = os.path.basename(os.getcwd())
list_files = ["img1.png", "img2.png", "img3.png"]
with zipfile.ZipFile(name + '.zip', 'w') as zip_file:
for file in list_files:
zip_file.write(file, compress_type=zipfile.ZIP_DEFLATED)
zip_file.close()
Только мой код работает в конкретно заданой папке os.chdir('asd/data2') А вручную каждый раз прописывать путь к папке очень долго, т.к папок очень большое количество.
Как сделать, чтобы скрипт проходил по всем папкам автоматически?
Заранее спасибо!