Постановка задачі: «Потрібно, щоб програма робила резервні копії усіх існуючих важливих файлів.»
Складаємо список того, як програма має працювати: Перелік файлів і каталогів для копіювання вказуються як список; резервна копія повинна зберігатися в головному каталозі для резервних копій; резервні копії створюються у вигляді zip файлів; назва zip архіву – поточна дата і час; скористаємося стандартною командою zip, яка типово доступна в стандартних інсталяціях диcтрибутивів Linux/Unix, Windows.
Розв’язок поставленої задачі
Оскільки проект майбутньої програми більш-менш узгоджено можемо почати писати код, який є втіленням рішення.
#!/usr/bin/python
# Filename: backup_ver1.py
import os
import time
# 1. Файли і каталоги для резервного копіювання вказуються як список
source = ['"C:\\My Documents"', 'C:\\Code']
# нам довелося використати подвійні лапки всередині рядка для імен з пробілами
# 2. Резервна копія буде зберігатися в головному каталозі для резервних копій
target_dir = 'E:\\Backup' # Не забудь змінити шлях відповідно до твоїх потреб
# 3. Файли зберігаються як архів формату zip
# 4. Назва архіву — це поточна дата і час
target = target_dir + os.sep + time.strftime('%Y%m%d%H%M%S') +'.zip'
# 5. Використовуємо команду zip для архівації файлів
zip_command = "zip -qr {0} {1}".format(target, ' '.join(source))
# Запустити процес резервного копіювання
if os.system(zip_command) == 0:
print ('Дані збережено до ', target)
else:
print ('Процес закінчився НЕВДАЧЕЮ')
Результат не екрані:
$ python backup_ver1.py
Дані збережено до E:\Backup\20080702185040.zip