最近在看《简明 Python 教程(A Byte of Python)》,书中有一个小练习,需求为“我想要一款程序来备份我所有的重要文件”。具体要求如下:
(1)需要备份的文件与目录应在一份列表中予以指定;
(2)备份必须存储在一个主备份目录中;
(3)备份文件将打包压缩成 zip 文件;
(4)zip 压缩文件的文件名由当前日期与时间构成;
(5)我们使用在任何 GNU/Linux 或 Unix 发行版中都会默认提供的标准 zip 命令进行打包。
运行效果如下图所示:
跟着书中的思路,逐步修改完善,得到了如下完整实现:
import time
import os
#用一个列表来存放所有需要备份的文件和目录
sources = ['/path/to/file1', '/path/to/diretory1', '/path/to/file2',
'/path/to/file3', '/path/to/directory2']
#指定用于存放备份文件的目标目录
target_dir = '/path/to/backup/directory/'
#如果目标目录不存在,就先创建该目录
if not os.path.exists(target_dir):
os.mkdir(target_dir)
today = target_dir + os.sep + time.strftime('%Y%m%d')
if not os.path.exis