Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 7, 2017 10:36:05

cjd
Зарегистрирован: 2017-01-07
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает скрипт

Эта программа которая создаёт резервные
копии всех наших важных файлов.

import os
import time

# 1. Файлы и каталоги, которые необходимо скопировать, собираются в список.
source = ‘“/media/admin/Новый том/myfiles”’
# Заметьте, что для имён, содержащих пробелы, необходимо использовать
# двойные кавычки внутри строки.

# 2. Резервные копии должны храниться в основном каталоге резерва.
target_dir = ‘/media/admin/Новый том/fileback’
# Подставьте тот путь, который вы будете использовать.

# 3. Файлы помещаются в zip-архив.
# 4. Текущая дата служит именем подкаталога в основном каталоге
today = target_dir + os.sep + time.strftime('%Y%m%d')

# Текущее время служит именем zip-архива
now = time.strftime('%H%M%S')

# Создаём каталог, если его ещё нет
if not os.path.exists(today):
….os.mkdir(today) # создание каталога
print('Каталог успешно создан', today)

# Имя zip-файла
target = today + os.sep + now + ‘.zip’

# 5. Используем команду “zip” для помещения файлов в zip-архив
zip_command = “zip -qr {0} {1}”.format(target, ‘ ’.join(source))

# Запускаем создание резервной копии
if os.system(zip_command) == 0:
….print('Резервная копия успешно создана в', target)
else:
….print('Создание резервной копии НЕ УДАЛОСЬ')


система ubuntu
python 3.4.4

строка: os.mkdir(today)
Ошибка: FileNotFoundError: Не найден файл или директория.

В чем проблема?

Отредактировано cjd (Янв. 7, 2017 10:37:09)

Офлайн

#2 Янв. 7, 2017 10:48:04

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не работает скрипт

mkdir создает только один уровень каталогов в дереве файловой системы.
То есть так можно

 os.mkdir("existing_dir/new_dir")
а так нет
 os.mkdir("existing_dir/new_dir1/new_dir2")



Отредактировано FishHook (Янв. 7, 2017 10:48:19)

Офлайн

#3 Янв. 7, 2017 10:52:34

cjd
Зарегистрирован: 2017-01-07
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает скрипт

Мне нужно, чтобы создавал несколько уровней каталогов в дереве файловой системе.
Как это можно сделать?

Офлайн

#4 Янв. 7, 2017 10:56:36

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не работает скрипт

os.makedirs



Офлайн

#5 Янв. 7, 2017 11:37:27

cjd
Зарегистрирован: 2017-01-07
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает скрипт

Каталог успешно создан “/media/admin/Новый том/fileback/20170107”
zip I/O error: No such file or directory
zip error: Could not create output file (/media/admin/Новый том/fileback/20170107/113115.zip)
Создание резервной копии НЕ УДАЛОСЬ

Ошибочка!

Офлайн

#6 Янв. 7, 2017 11:49:46

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не работает скрипт

Для начала уберите из путей вот это

cjd
Новый том
попробуйте с одним словом латиницей

Во-вторых, разбейте задачу на элементарные составляющие и отлаживайте их по отдельности. Не надо пытаться сразу запустить большой объем кода. У вас создается каталог, потом в него пишется новый файл архива. И тут где-то ошибка! Вы научитесь сначала писать архив в существующий каталог. Получилось? Идем дальше, учимся создавать каталоги. Получилось? Идем дальше, объединяем эти две операции.



Офлайн

#7 Янв. 7, 2017 11:58:01

cjd
Зарегистрирован: 2017-01-07
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает скрипт

FishHook
попробуйте с одним словом латиницей

Это как так? Разве это возможно? Я на линуксе совсем недавно, но я знаю, что на шиндовс этого сделать нельзя. Или я чего-то не понимаю?

Офлайн

#8 Янв. 7, 2017 11:59:57

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не работает скрипт

Чего?
Вам нужно убрать кириллицу из путей и не использовать пробелы, чего тут невозможного?



Офлайн

#9 Янв. 7, 2017 12:07:53

cjd
Зарегистрирован: 2017-01-07
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает скрипт

То есть писать Novii_tom ?
Либо я слишком тупой, либо вы непонятно говорите.

Офлайн

#10 Янв. 7, 2017 12:10:13

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не работает скрипт

да, писать Novii_tom.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version