码迷,mamicode.com
首页 > 编程语言 > 详细

python实例:backup 备份

时间:2015-10-07 09:40:18      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

python实例:backup 备份

本文来源于《python简明教程》中的实例

1. 提出问题: 我想要一个可以为我的所有重要文件创建备份的程序。
2. 分析明确问题:我们如何确定该备份哪些文件?备份保存在哪里?我们怎么样存储备份?
3. 设计程序列表:

  1). 需要备份的文件和目录由一个列表指定。

  2). 备份应该保存在主备份目录中。

  3). 文件备份成一个zip文件。

  4). zip存档的名称是当前的日期和时间。

4. 编写代码:

  

# Filename: backup_ver1.py

import os
import time

# 1. The files and directories to be backed up are specified in a list.
source = rc:\python34

# 2. The backup must be stored in a main backup directory
target_dir = rc:\python34\scripts # Remember to change this to what you will be using

# 3. The files are backed up into a rar file.
# 4. The name of the rar archive is the current date and time
target = target_dir + time.strftime(%Y%m%d%H%M%S) + .rar
# 5. We use the rar command in windows to put the files in a zip archive,you must to be sure  you have installed WinRARA and that in your path
rar_command = r"C:\Program Files\WinRAR\WinRAR.exe" A %s %s -r % (target,source)

# Run the backup
if os.system(rar_command) == 0:
    print (Successful backup to), target
else:
    print (Backup FAILED )

分析:

1.  注意,source、target_dir地址都可以你任意指定。source是指向的是需要备份的文件,target_dir指向的是需要保存的地址。

source = re:\code
target_dir = re:\code 

2. zip archive压缩文档的名称用target来指定; 其中运用了 

      加法操作符来级连字符串(即把两个字符串连接在一起返回一个新的字符串);time.strftime()返回当前的时间;‘.rar’ 扩展名;

      字符串join方法把source列表转换为字符串。source可以换成‘’.join(source),貌似只能用这‘’,里面不能加入其它符号。

     rar_command或者 zip_command,都必须系统有此软件才能使用,

    你一定要将WinRAR的路径放到你的环境变量里面,然后才能直接使用WinRAR命令行。或者你要加上WinRAR的安装路径像这样: 

    rar_command ="zip -qr ‘%s‘ %s"% (target,source)。

    zip命令有一些选项和参数。 -q选项用来表示zip命令安静地工作。 -r选项表示zip命令对目录递归地工 作,即它包括子目录以及子目录中的文件。两个选项可以组合成缩写形式-qr。所以自己查询相关的帮助文档。



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

python实例:backup 备份

标签:

原文地址:http://www.cnblogs.com/zhicn/p/4858232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!