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 切片和range()用法说明
Mar 24 Python
python中的闭包用法实例详解
May 05 Python
在Python中使用正则表达式的方法
Aug 13 Python
python实现微信发送邮件关闭电脑功能
Feb 22 Python
python简易远程控制单线程版
Jun 20 Python
pycharm远程linux开发和调试代码的方法
Jul 17 Python
python学生信息管理系统(完整版)
Apr 05 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
python基于property()函数定义属性
Jan 22 Python
jupyter notebook中新建cell的方法与快捷键操作
Apr 22 Python
Python中格式化字符串的四种实现
May 26 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
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
js数组操作学习总结
2013/11/04 Javascript
javascript实现字符串反转的方法
2015/02/05 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
JS中产生标识符方式的演变
2015/06/12 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
利用python计算时间差(返回天数)
2019/09/07 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
django教程如何自学
2020/07/31 Python
基于CSS3 animation动画属性实现轮播图效果
2017/09/12 HTML / CSS
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
详解三种方式实现平滑滚动页面到顶部的功能
2019/04/23 HTML / CSS
白色公司:The White Company
2017/10/11 全球购物
Ejb技术面试题
2015/04/29 面试题
网络事业创业计划书范文
2014/01/09 职场文书
成龙洗发水广告词
2014/03/14 职场文书
学术会议主持词
2014/03/17 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
授权委托书范文
2014/07/31 职场文书
党员作风建设自查报告
2014/10/23 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
转正申请报告格式
2015/05/15 职场文书
一些让Python代码简洁的实用技巧总结
2021/08/23 Python