Функция получает список каталогов и файлов, создает из них архив. Как избавится от каталогов в архиве, чтобы в нем были только файлы?
UPD: То есть сейчас в архиве получается так:
folder1/folder2/file0
file2
а надо так:
file0, file2
#!/usr/bin/python3
import os
from zipfile import ZipFile
from logger import log_info, log_error
def addFolderToZip(zip_file, folder):
for file in os.listdir(folder):
full_path = os.path.join(folder, file)
if os.path.isfile(full_path) and os.path.exists(full_path):
zip_file.write(full_path)
elif os.path.isdir(full_path) and os.path.exists(full_path):
addFolderToZip(zip_file, full_path)
def zip(zip_name, files):
# create a ZipFile object
zip_obj = ZipFile(zip_name, 'w')
# Add multiple files to the zip
for file in files:
if os.path.exists(file):
if os.path.isfile(file):
try:
zip_obj.write(file)
except Exception as e:
log_error("Ошибка zip, %s" % e)
else:
addFolderToZip(zip_obj, file)
# close the Zip File
zip_obj.close()