首页 > 编程 > Python > 正文

Python利用递归实现文件的复制方法

2020-02-15 23:25:32
字体:
来源:转载
供稿:网友

如下所示:

import osimport timefrom collections import deque"""利用递归实现目录的遍历@para sourcePath:原文件目录@para targetPath:目标文件目录"""def getDirAndCopyFile(sourcePath,targetPath):  if not os.path.exists(sourcePath):    return  if not os.path.exists(targetPath):    os.makedirs(targetPath)      #遍历文件夹  for fileName in os.listdir(sourcePath):    #拼接原文件或者文件夹的绝对路径    absourcePath = os.path.join(sourcePath, fileName)    #拼接目标文件或者文件加的绝对路径    abstargetPath = os.path.join(targetPath, fileName)    #判断原文件的绝对路径是目录还是文件    if os.path.isdir(absourcePath):      #是目录就创建相应的目标目录      os.makedirs(abstargetPath)      #递归调用getDirAndCopyFile()函数      getDirAndCopyFile(absourcePath,abstargetPath)    #是文件就进行复制    if os.path.isfile(absourcePath):      rbf = open(absourcePath,"rb")      wbf = open(abstargetPath,"wb")      while True:        content = rbf.readline(1024*1024)        if len(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利用递归实现文件的复制方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表