Там есть здание:
Составить программу, которая создаёт резервные
копии всех наших важных файлов.
1. Файлы и каталоги, которые необходимо скопировать, собираются в список.
2. Резервные копии должны храниться в основном каталоге резерва.
3. Файлы помещаются в zip-архив.
4. Именем для zip-архива служит текущая дата и время.
5. Будем использовать стандартную команду zip, имеющуюся по умолчанию в любом
стандартном дистрибутиве GNU/Linux. Пользователи Windows могут установить её
со страницы проекта GnuWin32 и добавить “C:\Program Files\GnuWin32\bin” к си-
стемной переменной окружения PATH, аналогично тому, как мы это делали для са-
мой команды “python”.
Вот код:
import os import time # 1. Файлы и каталоги, которые необходимо скопировать, собираются в список. source = ['"C:\\My Documents"', 'C:\\Code'] # Заметьте, что для имён, содержащих пробелы, необходимо использовать # двойные кавычки внутри строки. # 2. Резервные копии должны храниться в основном каталоге резерва. target_dir = 'E:\\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('Создание резервной копии НЕ УДАЛОСЬ')
На выходе ошибка:
“zip” �� ���� ����७��� ��� ���譥�
��������, �ᯮ��塞�� �ணࠬ��� ��� ������ 䠩���.
Создание резервной копии НЕ УДАЛОСЬ
Process finished with exit code 0
Пишу на pycharm на win10. Не могу понять, в чем проблема. Сделал всё что написано, но ничего не мопогло. В dos пишет, что команда zip не является внутренней или внешней командой,
исполняемой программой или пакетным файлом. Это значит, что GnuWin32 не видно в виндовс? Или как? Очень нужно найти решение конкретно этого кода, он по книге будет усложняться. Пожалйста помогите!!