Python利用递归实现文件的复制方法
如下所示:
importos importtime fromcollectionsimportdeque """ 利用递归实现目录的遍历 @parasourcePath:原文件目录 @paratargetPath:目标文件目录 """ defgetDirAndCopyFile(sourcePath,targetPath): ifnotos.path.exists(sourcePath): return ifnotos.path.exists(targetPath): os.makedirs(targetPath) #遍历文件夹 forfileNameinos.listdir(sourcePath): #拼接原文件或者文件夹的绝对路径 absourcePath=os.path.join(sourcePath,fileName) #拼接目标文件或者文件加的绝对路径 abstargetPath=os.path.join(targetPath,fileName) #判断原文件的绝对路径是目录还是文件 ifos.path.isdir(absourcePath): #是目录就创建相应的目标目录 os.makedirs(abstargetPath) #递归调用getDirAndCopyFile()函数 getDirAndCopyFile(absourcePath,abstargetPath) #是文件就进行复制 ifos.path.isfile(absourcePath): rbf=open(absourcePath,"rb") wbf=open(abstargetPath,"wb") whileTrue: content=rbf.readline(1024*1024) iflen(content)==0: break wbf.write(content) wbf.flush() rbf.close() wbf.close() if__name__=='__main__': startTime=time.clock() sourcePath=r"H:\培训资料" targetPath=r"H:\培训资料_备份" getDirAndCopyFile(sourcePath,targetPath) #时间是用来计算复制总共消耗了多少时间 endTime=time.clock() time_mi=endTime//60 time_s=endTime//1%60 time_ms=((endTime*100)//1)%100 print("总用时:%02.0f:%02.0f:%2.0f"%(time_mi,time_s,time_ms))
以上这篇Python利用递归实现文件的复制方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。