Форум сайта python.su
0
Здравствуйте. Осваиваю Python, времени на обучение к сожалению мало и поэтому двигаюсь очень медленно. В учебнике по которому я занимаюсь есть задача сделать резервную копию файлов и упаковать их в zip. В данной задаче автор учебника рекомендует скачать специальное приложение gnuwin32, установить его на компьютер и прописать путь к нему в переменных среды.
С этим приложением всё работает, но далее автор предлагает изменить задачу и выполнить её без использования os.sep, вместо которого нужно использовать модуль ZipFile. Но никаких объяснений как применять этот модуль в учебнике нет.
Вот какой у меня был код когда я использовал os.sep:
import os
source =
target_dir = ‘J:\\buckap’
target = target_dir + os.sep + ‘копия_документов.zip’
zip_command = “zip -qr {0} {1}”.format(target, ‘ ’.join(source))
if os.system(zip_command) == 0:
print('Резервная копия Создана успешно')
else:
print('Создание резервной копии НЕ УДАЛОСЬ')
Но как сделать то же самое при помощи модуля ZipFile? Я искал решение в интернете несколько суток, скачивал разные справочники и в результате так ничего и не нашёл.
Я импортирую сам модуль:
import zipfile
далее пытаюсь убрать os.sep, как-то поменять код, но постоянно выдаёт ошибки. Я не могу понять как использовать модуль ZipFile чтобы всё работало как в примере выше с os.sep, чтобы файлы копировались, создавался архив с ними?
Офлайн
53
Leon0x1
вы знаете что такое os.sep?
Офлайн
0
sanderДа, несколько не то написал, я имел в виду os.system.
Leon0x1вы знаете что такое os.sep?
Отредактировано Leon0x1 (Март 24, 2016 16:39:54)
Офлайн
53
Leon0x1
оформите код в теги code
ну и
RTFM
Офлайн
186
А что конкретно не получается. Приведи код.
P.S. Модуль ZipFile не очень понятен для навичков. Лучше его заменить на tarfile.
Офлайн
0
sanderЯ это уже всё читал, и код свой менял по всякому, но НИЧЕГО НЕ РАБОТАЕТ. Никакой вариант.
Leon0x1оформите код в теги codeну и RTFM
Отредактировано Leon0x1 (Март 25, 2016 04:52:50)
Офлайн
0
RodegastВыдаёт ошибку TypeError: ‘modyle’ object is not callable
А что конкретно не получается. Приведи код.P.S. Модуль ZipFile не очень понятен для навичков. Лучше его заменить на tarfile.
Отредактировано Leon0x1 (Март 25, 2016 05:04:13)
Офлайн
857
Leon0x1Это на всех форумах так, по всему Интернету. Если пользователь пишет много лишних символов, они удаляются. Чтобы символы не удалялись, существуют специальные экранирующие конструкции.
А код у меня сейчас такой (почему-то здесь, на форуме не прописываются пути директории
Отредактировано py.user.next (Март 25, 2016 05:29:06)
Офлайн
53
Leon0x1
открой ссылку на документацию, которую я скинул, там есть пример создания zip фала
Офлайн