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 = r‘c:\python34‘

# 2. The backup must be stored in a main backup directory
target_dir = r‘c:\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 = r‘e:\code‘
target_dir = r‘e:\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。所以自己查询相关的帮助文档。

 

时间: 2025-01-01 15:26:50

python实例:backup 备份的相关文章

使用docker安装部署Spark集群来训练CNN(含Python实例)

使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器,每台有8个tesla-GPU,然而平时做实验都只使用了其中的一个GPU,实在暴遣天物! 于是想用spark来把这些GPU都利用起来.听闻d

【转载】python实例手册

今天西爬虫的时候遇到了问题,在网上不停地查找资料,居然碰到两篇好文章: 1.python实例手册   作者:没头脑的土豆 另一篇在这:shell实例手册 python实例手册 #encoding:utf8 # 设定编码-支持中文 0说明 手册制作: 雪松 更新日期: 2013-12-19 欢迎系统运维加入Q群: 198173206 # 加群请回答问题 请使用"notepad++"打开此文档,"alt+0"将函数折叠后方便查阅 请勿删除信息,转载请说明出处,抵制不道德

利用Azure backup备份和恢复Azure虚拟机(1)

中国区Azure最近发布了关于使用Azure Backup来备份VM服务,于3月1日正式上线,该功能对于需要对关键工作负载进行备份的用户来讲,极大的降低了操作复杂度.以前我们所使用Powershell来做的Azure虚拟机备份功能,不仅存在诸多限制,而且本身只是存储的快照,而不是虚拟机的. Azure backup的虚拟机备份服务使用的是Windows的数据卷影子复制服务(Volume Shadow Copy Service)能够使得在虚拟机不关机的情况下,对虚拟机进行快照,然后通过备份服务将快

使用Microsoft Azure Backup备份Hyper-V数据

在之前的文章中讲到了微软的云计算备份解决方案-Microsoft Azure Backup,通过技术可以备份Azure中的VM以及企业内部的Hyper-V.关于Microsoft Azure Backup可参见之前写的文章<Microsoft Azure Backup介绍>: http://ericxuting.blog.51cto.com/8995534/1641104 今天主要为大家带来如何通过Azure Backup备份企业内部Hyper-V数据.(PS:本文档基于国际版Azure,由世

Python实例 -- 爬虫

1 #coding="utf-8" 2 3 import urllib2 4 import re 5 import threading 6 import time 7 8 """ 9 抓取代理发布页的ip和port10 http://www.xici.net.co/nn/%d 11 """ 12 13 proxylist = [] 14 15 16 def get_proxy_from_cnproxy(): 17 global

python实例手册

python实例手册 #encoding:utf8 # 设定编码-支持中文 0说明 手册制作: 雪松 更新日期: 2013-12-19 欢迎系统运维加入Q群: 198173206 # 加群请回答问题 请使用"notepad++"打开此文档,"alt+0"将函数折叠后方便查阅 请勿删除信息,转载请说明出处,抵制不道德行为. 错误在所难免,还望指正! # python实例手册下载地址: http://hi.baidu.com/quanzhou722/item/cf447

使用Windows Server Backup备份与还原Hyper-V虚拟机

Windows Server Backup 是Windows Server内置的一种功能,使用 Windows Server Backup 可以备份整个服务器(所有卷).选定卷.系统状态或特定的文件或文件夹,并且可以创建用于裸机恢复的备份.可以恢复卷.文件夹.文件.某些应用程序和系统状态.此外,在发生诸如硬盘故障之类的灾难时,可以执行裸机恢复.(为此,你将需要备份整个服务器或只备份包含操作系统文件的卷以及 Windows 恢复环境,这会将完整的系统还原到旧系统中或新的硬盘上.)可以使用 Wind

【NLP】Python实例:基于文本相似度对申报项目进行查重设计

Python实例:申报项目查重系统设计与实现 作者:白宁超 2017年5月18日17:51:37 摘要:关于查重系统很多人并不陌生,无论本科还是硕博毕业都不可避免涉及论文查重问题,这也对学术不正之风起到一定纠正作用.单位主要针对科技项目申报审核,传统的方式人力物力比较大,且伴随季度性的繁重工作,效率不高.基于此,单位觉得开发一款可以达到实用的智能查重系统.遍及网络文献,终未得到有价值的参考资料,这个也是自然.首先类似知网,paperpass这样的商业公司其毕业申报专利并进行保密,其他科研单位因发

第一个python实例--监控cpu

1 #第一个python实例:监控cpu 2 #/bin/bash/env Python 3 from __future__ import print_function 4 from collections import OrderedDict 5 import pprint 6 7 def CPUinfo(): 8 ''' Return the information in /proc/CPUinfo 9 as a dictionary in the following format: 10

python实例31[列出目录下所有的文件到txt]

代码: (使用os.listdir) import os def ListFilesToTxt(dir,file,wildcard,recursion):    exts = wildcard.split(" ")    files = os.listdir(dir)    for name in files:        fullname=os.path.join(dir,name)        if(os.path.isdir(fullname) & recursion