zipfile добавляет в архив лишние папки
При архивировании изображения:
import zipfile
def archiver(path_to_file, path_to_new_zip, filename = 'new_file'):
new_file = zipfile.ZipFile(f'{path_to_new_zip}\{filename}.zip', 'w')
new_file.write(path_to_file, compress_type=zipfile.ZIP_DEFLATED)
new_file.close()
archiver(r'C:\Users\dimon\Desktop\zip archiver\files\aaa.jpg', r'C:\Users\dimon\Desktop\ziparchiver\zip', 'somefile')
вместо того чтобы просто заархивировать изображение, добавляются все папки на пути к изображению:

Как это исправить?
Ответы (1 шт):
Автор решения: turkindv
→ Ссылка
Можно передать в параметр arcname имя файла или путь, в коде ниже взял имя файла которое имеется у изначального файла path_to_file.split("\")[-1], можно указать любое другое, например new_image.jpg
import zipfile
def archiver(path_to_file, path_to_new_zip, filename = 'new_file'):
with zipfile.ZipFile(f'{path_to_new_zip}\{filename}.zip', 'w') as new_file:
new_file.write(path_to_file, arcname=path_to_file.split("\")[-1], compress_type=zipfile.ZIP_DEFLATED)
