Я создаю Zip-файл из папки (и подпапок). он работает нормально и создает новый файл .zip, но у меня возникла проблема при использовании glob.glob. Он читает все файлы из нужной папки (исходной папки) и записывает в новый zip-файл, но проблема в том, что он, однако, добавляет подкаталоги, а не добавляет файлы из подкаталогов.
Я даю пользователю возможность выбрать имя файла и путь, а также тип файла (Zip или Tar). У меня нет проблем при создании файла .tar.gz, но когда пользователь создает файл .zip, эта проблема встречается.
Вот мой код:
for name in (Source_Dir):
for name in glob.glob("/path/to/source/dir/*" ):
myZip.write(name, os.path.basename(name), zipfile.ZIP_DEFLATED)
myZip.close()
Кроме того, если я использую код ниже:
for dirpath, dirnames, filenames in os.walk(Source_Dir):
myZip.write(os.path.join(dirpath, filename) os.path.basename(filename))
myZip.close()
Теперь второй код берет все файлы, даже если они находятся внутри папки / подпапок, создает новый файл .zip и записывает в него без какой-либо структуры каталогов. Он даже не принимает структуру dir для основной папки и просто записывает все файлы из основного каталога или подкаталога в этот файл .zip.
Может кто-нибудь, пожалуйста, помогите мне или предложите мне. Я бы предпочел использовать glob.glob, а не 2-й вариант.
Заранее спасибо.
С уважением,
Акаша