Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 5, 2013 11:39:46

vladimirse
Зарегистрирован: 2013-09-02
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

Python и архивация каталога со всем содержимым

doza_and
А вам не кажется что для стандартных задачек лучше использовать стандартный подход:
import subprocess as sp
sp.check_call(“7z a -tzip arhname dirname”)
Меньше писанины, выше быстродействие, больше степень сжатия, намного меньше вероятность возникновения ошибок. Необходимость ручной сборки архива требует специального обоснования.

Ну я же изучаю python, поэтому хочется разобраться именно в том как это делает python.

Отредактировано vladimirse (Сен. 5, 2013 20:38:25)

Офлайн

#2 Сен. 5, 2013 11:44:31

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Python и архивация каталога со всем содержимым

поправь , будет и пустые директории архивировать

# coding: cp1251
import os, zipfile
yourfolder = 'folder'
arch = zipfile.ZipFile('test.zip', 'w', zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(yourfolder):
    print root+'\\'+str(files)
    for tarfile in files:
        #if tarfile != '':
        arch.write(root+'\\'+tarfile.decode('cp1251'))
    
    arch.write(root.decode('cp1251'))
arch.close()

Отредактировано sanodin (Сен. 5, 2013 12:14:12)

Офлайн

#3 Сен. 5, 2013 23:29:04

vladimirse
Зарегистрирован: 2013-09-02
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

Python и архивация каталога со всем содержимым

sanodin
# coding: cp1251
import os, zipfile
yourfolder = ‘folder’
arch = zipfile.ZipFile('test.zip', ‘w’, zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(yourfolder):
print root+'\\'+str(files)
for tarfile in files:
#if tarfile != ‘':
arch.write(root+’\\'+tarfile.decode('cp1251'))

arch.write(root.decode('cp1251'))
arch.close()

Спасибо! Все работает. Теперь буду разбираться как это работает
Если вас не затруднит, не могли бы вы прокоментировать скрипт?

Офлайн

#4 Сен. 6, 2013 06:26:42

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Python и архивация каталога со всем содержимым

Офлайн

#5 Сен. 6, 2013 23:52:44

vladimirse
Зарегистрирован: 2013-09-02
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

Python и архивация каталога со всем содержимым

Спасибо! )

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version