python备份文件的脚本


Posted in Python onAugust 11, 2008

实际效果:假设给定目录"/media/data/programmer/project/python" ,备份路径"/home/diegoyun/backup/“ , 则会将python目录下的文件按照全路经备份到备份路径下,形如:

/home/diegoyun/backup/yyyymmddHHMMSS/python/xxx/yyy/zzz.....

import os 
import shutil 
import datetime def mainLogic(): 
    #add dirs you want to copy 
    backdir="I:\\backup"     
    copydirs=[] 
    copydirs.append("D:\\programmer") 
    copydirs.append("D:\\diegoyun")     
    print "Copying files  ===================" 
    start=datetime.datetime.now() 
    #gen a data folder for backup 
    backdir=os.path.join(backdir,start.strftime("%Y-%m-%d")) 
    #print "backdir is:"+backdir 
     
    kc=0 
    for d in copydirs: 
        kc=kc+copyFiles(d,backdir) 
    end=datetime.datetime.now() 
    print "Finished! ===================" 
    print "Total files : " + str(kc)  
    print "Elapsed time : " + str((end-start).seconds)+" seconds" 
def copyFiles(copydir,backdir): 
    prefix=getPathPrefix(copydir) 
    #print "prefix is:"+prefix     
    i=0 
    for dirpath,dirnames,filenames in os.walk(copydir): 
        for name in filenames: 
            oldpath=os.path.join(dirpath,name) 
            newpath=omitPrefix(dirpath,prefix) 
            print "backdir is:"+backdir             
            newpath=os.path.join(backdir,newpath) 
            print "newpath is:"+newpath 
            if os.path.exists(newpath)!=True: 
                os.makedirs(newpath)   
            newpath=os.path.join(newpath,name) 
            print "From:"+oldpath+" to:"+newpath 
            shutil.copyfile(oldpath,newpath) 
            i=i+1 
    return i     
def getPathPrefix(fullpath): 
    #Giving /media/data/programmer/project/ , get the prefix 
    #/media/data/programmer/ 
    l=fullpath.split(os.path.sep) 
    #print str(l[-1]=="")     
    if l[-1]=="": 
        tmp=l[-2] 
    else: 
        tmp=l[-1] 
    return fullpath[0:len(fullpath)-len(tmp)-1] 
def omitPrefix(fullpath,prefix): 
    #Giving /media/data/programmer/project/python/tutotial/file/test.py , 
    #and prefix is Giving /media/data/programmer/project/, 
    #return path as python/tutotial/file/test.py 
    return fullpath[len(prefix)+1:] 
mainLogic()
Python 相关文章推荐
Python基于PyGraphics包实现图片截取功能的方法
Dec 21 Python
在CentOS6上安装Python2.7的解决方法
Jan 09 Python
Python设计模式之工厂模式简单示例
Jan 09 Python
python虚拟环境迁移方法
Jan 03 Python
Django之PopUp的具体实现方法
Aug 31 Python
Python三元运算与lambda表达式实例解析
Nov 30 Python
Python基础之列表常见操作经典实例详解
Feb 26 Python
Python连接Impala实现步骤解析
Aug 04 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
Sep 24 Python
Python OpenCV中的numpy与图像类型转换操作
Dec 11 Python
selenium+headless chrome爬虫的实现示例
Jan 08 Python
Pygame如何使用精灵和碰撞检测
Nov 17 Python
Python 文件操作技巧(File operation) 实例代码分析
Aug 11 #Python
python下如何让web元素的生成更简单的分析
Jul 17 #Python
py中的目录与文件判别代码
Jul 16 #Python
Python Mysql自动备份脚本
Jul 14 #Python
python远程登录代码
Apr 29 #Python
复制粘贴功能的Python程序
Apr 04 #Python
推荐下python/ironpython:从入门到精通
Oct 02 #Python
You might like
一个分页的论坛
2006/10/09 PHP
php 计算两个时间戳相隔的时间的函数(小时)
2009/12/18 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
2011/01/06 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
js实现简单的省市县三级联动效果实例
2016/02/18 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
vue实现评论列表功能
2019/10/25 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
python快速排序代码实例
2013/11/21 Python
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
Python pymongo模块用法示例
2018/03/31 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
python生成requirements.txt的两种方法
2019/09/18 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
端口镜像是怎么实现的
2014/03/25 面试题
接受捐赠答谢词
2014/01/27 职场文书
《开国大典》教学反思
2014/04/19 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
企业文化标语大全
2014/06/10 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
秦兵马俑导游词
2015/02/02 职场文书
社区低保工作总结2015
2015/07/23 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
高三物理教学反思
2016/02/20 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang