Задать вопрос
uFellowShip
@uFellowShip
⬇⬇⬇ИМХО⬇⬇⬇

Почему не работает этот python код?

Изучаю Python по книге "A Byte Of Python". Там есть вот такой пример кода для бекапа данных:
import os
import time

# 1. Файлы и каталоги, которые необходимо скопировать, собираются в список.
source = ['"C:\\res"']
# Заметьте, что для имён, содержащих пробелы, необходимо использовать
# двойные кавычки внутри строки.
# 2. Резервные копии должны храниться в основном каталоге резерва.
target_dir = 'D:\\Backup' # Подставьте тот путь, который вы будете использовать.
# 3. Файлы помещаются в zip-архив.
# 4. Именем для zip-архива служит текущая дата и время.
target = target_dir + os.sep + time.strftime('%Y%m%d%H%M%S') + '.zip'
# 5. Используем команду "zip" для помещения файлов в zip-архив
zip_command = "zip -qr {0} {1}".format(target, ' '.join(source))
# Запускаем создание резервной копии
if os.system(zip_command) == 0:
    print('Резервная копия успешно создана в', target)
else:
    print('Создание резервной копии НЕ УДАЛОСЬ')

Все перепроверил и сделал как надо но почему не работает? Дело в операционной системе или в коде?
  • Вопрос задан
  • 1162 просмотра
Подписаться 1 Простой 6 комментариев
Решения вопроса 2
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
Потому что в Windows нет консольной утилиты zip.
Вы можете установить 7-zip, добавить его в переменную окружения и тогда изменить zip_command примерно так:
zip_command = "7z a -tzip {0} {1}".format(target, ''.joint(source))
Ответ написан
uFellowShip
@uFellowShip Автор вопроса
⬇⬇⬇ИМХО⬇⬇⬇
Кстати потом заметил 5 пункт...
5. Будем использовать стандартную команду zip, имеющуюся по умолчанию в любом
стандартном дистрибутиве GNU/Linux. Пользователи Windows могут установить её
со страницы проекта GnuWin32 и добавить “C:\Program Files\GnuWin32\bin” к системной переменной окружения PATH, аналогично тому, как мы это делали для самой команды “python”. Обратите внимание, что для этого подойдёт любая команда
архивации, если у неё есть интерфейс командной строки, чтобы ей можно было
передавать аргументы из нашего сценария.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽