国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

python備份文件的腳本

2020-01-04 18:06:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
作用:將目錄備份到其他路徑。
 

實(shí)際效果:假設(shè)給定目錄"/media/data/programmer/project/python" ,備份路徑"/home/diegoyun/backup/“ , 則會(huì)將python目錄下的文件按照全路經(jīng)備份到備份路徑下,形如:

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

復(fù)制代碼代碼如下:

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() 

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 涞源县| 吉安市| 桃园县| 台江县| 渭源县| 德安县| 胶南市| 新闻| 夹江县| 江北区| 兴山县| 富宁县| 辰溪县| 阿克苏市| 鄂伦春自治旗| 炉霍县| 昌江| 嘉峪关市| 九江县| 莆田市| 固镇县| 灯塔市| 班玛县| 江阴市| 军事| 正阳县| 抚松县| 屏山县| 康保县| 龙泉市| 独山县| 普洱| 嘉定区| 隆昌县| 大埔县| 金川县| 浦江县| 枣强县| 乌兰浩特市| 永修县| 安康市|