Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 22, 2014 08:47:01

fox85
Зарегистрирован: 2014-05-30
Сообщения: 56
Репутация: +  -1  -
Профиль   Отправить e-mail  

Как заставить работать программу

Добрый день !
Я сейчас учу python3 по книге AbyteofPythonRussian-2.01.
Там такой пример программы

# -*- coding: utf-8 -*-

'''
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 =
# Заметьте, что для имён, содержащих пробелы, необходимо использовать
# двойные кавычки внутри строки.

# 2. Резервные копии должны храниться в основном каталоге резерва.
target_dir = ‘D:\\book’# Подставьте тот путь, который вы будете использовать

# 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('Создание резервной копии НЕ УДАЛОСТЬ')

input()

Я сделал все как описано но результат выдаёт.

zip" �� ���� ����७��� ��� ��譥�
��������, �ᯮ��塞�� �ணࠬ��� ��� ������ 䠩���.
Создание резервной копии НЕ УДАЛОСТЬ

Команда zip_command не работает в dos пишет что
zip не является внутренней или внешней командой,
исполняемой программой или пакетным файлом .

Подскажите что надо сделать чтобы все заработало спасибо заранее

Офлайн

#2 Июнь 22, 2014 09:20:24

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Как заставить работать программу

Установить виртуальную машину с Linux, zip на Windows по умолчанию не робит

Если нужны архивы на Windows самый простой выход использовать Python'овский zipfile



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Отредактировано ajib6ept (Июнь 22, 2014 09:21:27)

Офлайн

#3 Июнь 22, 2014 14:37:08

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как заставить работать программу

Попробую ответ переиначить. Ваш скрипт предполагает что в ОС установлена программа zip, а ее нет.
Значит надо установить zip или аналоги. Например "http://www.7-zip.org/".

На самом деле в Windows похоже есть встроенный компрессор, но без интерфейса командной строки.
http://stackoverflow.com/questions/11021879/creating-a-zipped-compressed-folder-in-windows-using-powershell-or-the-command-l



Офлайн

#4 Июнь 22, 2014 15:45:11

fox85
Зарегистрирован: 2014-05-30
Сообщения: 56
Репутация: +  -1  -
Профиль   Отправить e-mail  

Как заставить работать программу

У меня 7zip установлен может есть команда чтобы запустить через командную архиватор

или сесть команда для windows 7 чтобы за разархивировать файл вить zip архиватор стоит по умолчанию в windows 7

Отредактировано fox85 (Июнь 22, 2014 15:48:42)

Офлайн

#5 Июнь 22, 2014 21:40:19

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как заставить работать программу

fox85
может есть команда
она называется 7z
subprocess.check_call("7z a -r arh_name dirname",shell=1)
fox85
стоит по умолчанию в windows 7
Ага, только воспользоваться им из командной строки нельзя.



Офлайн

#6 Июнь 23, 2014 06:59:34

fox85
Зарегистрирован: 2014-05-30
Сообщения: 56
Репутация: +  -1  -
Профиль   Отправить e-mail  

Как заставить работать программу

Добрый день !

Скажите можно заставить работать эту программу в widows 7 вот ссылка http://gnuwin32.sourceforge.net/packages/zip.htm

В книги советуют эту программу для zip архивации.
Как можно её настроить подскажите спасибо заранее.

Чтобы работала через комадную строку
Команда zip архива

Отредактировано fox85 (Июнь 23, 2014 07:09:24)

Офлайн

#7 Дек. 5, 2015 16:50:13

sistem13
Зарегистрирован: 2015-09-08
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Как заставить работать программу

У меня была такая же проблема.
ту программу что советует fox85 надо поставить.
после установки сделать следующее:
у меня виндовс-7, поэтому далее напишу как в ней.
правой кнопкой мыши на мой компьютер, св-ва, дополнительные параметры системы, загрузка и восстановление, переменные среды.
там два подокна:
в верхнем подокне “переменные среды пользователя для имя_пользователя”
щелкаем path, изменить, и вставить(добавить в конец) такую строку C:\Python34

в нижнем подокне “системные переменные”
щелкаем Path, изменить, и вставить(добавить в конец) такую строку
C:\Program Files (x86)\GnuWin32\bin

после этого скрипт на питоне заработал.

Офлайн

#8 Дек. 6, 2015 01:02:08

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Как заставить работать программу

sistem13
Это называется прописать в системных путях.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version