Python解决实际问题一--备份文件

问题:

实现一个可以为所有重要文件创建备份的程序

分析:

拆解问题,1、何为重要文件,假定它们都放到指定的一个或几个文件夹中。

2、备份都存放到一个备份主目录中。

3、备份压缩成zip格式

4、备份文件的名称以日期作为命名。

编写代码

#coding=utf-8
import os
import time
#需要备份的目录列表
source = [r'C:\Documents',r'D:\bak']
#备份放置的目录及备份文件名
target = 'D:\\ebooks\\' + time.strftime('%Y%m%d%H%M%S') + '.zip'
#window下的备份命令
zip_command = "zip -qr %s %s" % (target, ' '.join(source))
print zip_command
if os.system(zip_command) == 0:
	print 'Successful backup to',target
else:
	print 'Backup FAILED'	

 读懂代码,翻译成人类语言。

它如何工作?【参数等资源准备--执行--得到结果】

我们用了os, time模块,source是需要备份的文件列表。指定创建备份的存放目录和存放的zip格式文件名。

time.strftime('%Y%m%d%H%M%S')得到年月日时分秒格式的时间字符。

window下的备份命令, zip -qr 是, -q表示命名安静的执行(不显示执行日志)。 -r表示递归对文件及子文件夹下的文件进行备份。可以合并为-qr。 %s第一个占位符为 备份的目录及备份文件名称,第二个占位符是需要备份的目录列别。

' '.join(),以' '空格作为分隔符连接join()里的字符。

os.system() 执行像是在shell下执行 命令一样。成功返回0,错误返回错误信息。

shell?

在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

猜你喜欢

转载自yhzhangdota.iteye.com/blog/2371132