Я попытаюсь объяснить это на примере.
abc
├── test
├── dir1
├── dir2
├── not_for_zipping.txt
Я хочу сжать все каталоги в test dir (в данном примере это dir1 и dir2 ) Прямо сейчас я сделал это так:
directory = dlg.lineEdit_zipfile_path2.text() // this should be path to test dir. (.../abc/test/)
arr = os.listdir(directory)
for item in arr:
allfiles2zip = directory + item
try:
shutil.make_archive(item,'zip', + allfiles2zip)
except OSError:
pass
похоже, что это работает, но все каталоги ( dir1 и dir2 ) сжаты до:. ../abc/here
abc
├── dit1.zip
├── dir2.zip
├── test
├── dir1
├── dir2
├── not_for_zipping.txt
но я хотел бы получить эти файлы по выбранному пути (каталогу) ... abc / test / здесь
abc
├── test
├── dir1
├── dir2
├── not_for_zipping.txt
├── dir1.zip
├── dir2.zip
У вас есть идеи, как я могу это изменить? Кстати, есть ли у вас лучший способ для этого случая?