当前位置: 首页 > 编程笔记 >

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

彭星津
2023-03-14
本文向大家介绍Python利用递归实现文件的复制方法,包括了Python利用递归实现文件的复制方法的使用技巧和注意事项,需要的朋友参考一下

如下所示:

import os
import time
from 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利用递归实现文件的复制方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍PHP实现递归复制整个文件夹的类实例,包括了PHP实现递归复制整个文件夹的类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现递归复制整个文件夹的类。分享给大家供大家参考。具体如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍java实现递归文件列表的方法,包括了java实现递归文件列表的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java实现递归文件列表的方法。分享给大家供大家参考。具体如下: FileListing.java如下: 希望本文所述对大家的java程序设计有所帮助。

  • 问题内容: Python似乎具有复制文件的功能(例如)和复制目录的功能(例如),但是我还没有找到能够同时处理两者的函数。当然,检查要复制文件还是目录很简单,但这似乎很奇怪。 确实没有像unix命令那样工作的标准函数,即同时支持目录和文件以及递归复制吗?在Python中解决此问题的最优雅方法是什么? 问题答案: 建议您先致电,如果引发异常,请重试。

  • 本文向大家介绍java利用递归算法实现对文件夹的删除功能,包括了java利用递归算法实现对文件夹的删除功能的使用技巧和注意事项,需要的朋友参考一下 前提: 集成开发环境(IDE):eclipse jdk版本:8.0 File类的几个方法: 1)isFile() 测试此抽象路径名表示的文件是否为普通文件。 2)list() 返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。 3)del

  • 本文向大家介绍VB实现的递归复制文件和搜索文件的代码分享,包括了VB实现的递归复制文件和搜索文件的代码分享的使用技巧和注意事项,需要的朋友参考一下 在程序中要做一个复制文件夹的功能,用递归写起来很方便。后来要某位仁兄(自己知道就行了 - -)实现一个类似的,貌似不是那么顺利,这里把复制文件夹的递归代码丢出来: 递归的程序实在是很简洁很漂亮吧?后来又写了一个在文件夹中搜索文件的方法,也是递归的,那么

  • 本文向大家介绍浅谈Python实现2种文件复制的方法,包括了浅谈Python实现2种文件复制的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例主要实现Python中的文件复制操作,有两种方法,具体实现代码如下所示: 总结 以上就是本文关于浅谈Python实现2种文件复制的方法的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站