2015-07-23 1 views
0

Я пытаюсь сделать некоторые скрипты, которые помогают мне заархивировать файл из выбранного каталога.Плохая структура каталогов ZipFile

у меня есть:

import sys 
import os 
import zipfile 

source_dir = "C:\\myDir\\yourDir\\" 
zip = zipfile.ZipFile("C:\\myDir\\yourDirZip.zip","w",allowZip64=True) 


for root, dirs, files in os.walk(source_dir): 
    for f in files: 
     zip.write(os.path.join(root,f)) 

zip.close() 

После выполнения в yourDirZip.zip является:

myDir/ 
    yourDir/ 
     ... 

Я ожидаю, что только непосредственно yourDir или даже только содержание yourDir

У вас есть идеи, как я могу получить то, что я хочу?

ответ

0

Вы можете указать arcname параметр в write метода:

import sys 
import os 
import zipfile 

source_dir = "C:\\myDir\\yourDir" 
zip = zipfile.ZipFile("C:\\myDir\\yourDirZip.zip","w",allowZip64=True) 


for root, dirs, files in os.walk(source_dir): 
    for f in files: 
     zip.write(os.path.join(root,f), arcname=f) 

zip.close() 
+0

Thank You для решения –

 Смежные вопросы

  • Нет связанных вопросов^_^