最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python备份文件的脚本

来源:懂视网 责编:小采 时间:2020-11-27 14:29:20
文档

python备份文件的脚本

python备份文件的脚本:实际效果:假设给定目录/media/data/programmer/project/python ,备份路径/home/diegoyun/backup/ , 则会将python目录下的文件按照全路经备份到备份路径下,形如: /home/diegoyun/backup/yyyymmddHHMMSS/pytho
推荐度:
导读python备份文件的脚本:实际效果:假设给定目录/media/data/programmer/project/python ,备份路径/home/diegoyun/backup/ , 则会将python目录下的文件按照全路经备份到备份路径下,形如: /home/diegoyun/backup/yyyymmddHHMMSS/pytho

实际效果:假设给定目录"/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备份文件的脚本:实际效果:假设给定目录/media/data/programmer/project/python ,备份路径/home/diegoyun/backup/ , 则会将python目录下的文件按照全路经备份到备份路径下,形如: /home/diegoyun/backup/yyyymmddHHMMSS/pytho
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top