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

Ну я же изучаю python, поэтому хочется разобраться именно в том как это делает 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()
vladimirse
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()

Спасибо! Все работает. Теперь буду разбираться как это работает
Если вас не затруднит, не могли бы вы прокоментировать скрипт?
vladimirse
Спасибо! )
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB