Что добавить чтобы python рекурсивно записывал файлы из папки в архив а не только саму папку?
import os
import time
import zipfile
source = 'C:\\Users\\PCuser\\Documents\\folder'
target_dir = 'C:\\Users\\PCuser\\Downloads'
now = time.strftime('%H%M%S')
target = now + '.zip'
newzip = zipfile.ZipFile(target_dir + os.sep + target, "w")
newzip.write(source)
newzip.close()
Ответы (1 шт):
Автор решения: MihailPy
→ Ссылка
Попробуйте вот так.
import os
import time
import zipfile
source = 'C:\\Users\\PCuser\\Documents\\folder\'
target_dir = 'C:\\Users\\PCuser\\Downloads'
now = time.strftime('%H%M%S')
target = now + '.zip'
newzip = zipfile.ZipFile(target_dir + target, 'w') # Создание нового архива
for root, dirs, files in os.walk(source): # Список всех файлов и папок в директории folder
for file in files:
newzip.write(os.path.join(root,file)) # Создание относительных путей и запись файлов в архив
newzip.close()