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


Posted in Python onOctober 27, 2018

如下所示:

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利用递归实现文件的复制方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 Python
numpy判断数值类型、过滤出数值型数据的方法
Jun 09 Python
PyCharm代码整体缩进,反向缩进的方法
Jun 25 Python
Python实现的文轩网爬虫完整示例
May 16 Python
Python变量访问权限控制详解
Jun 29 Python
PyTorch中Tensor的拼接与拆分的实现
Aug 18 Python
详解Python 字符串相似性的几种度量方法
Aug 29 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
Dec 09 Python
Python3将jpg转为pdf文件的方法示例
Dec 13 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
Python如何telnet到网络设备
Feb 18 Python
python实现本地图片转存并重命名的示例代码
Oct 27 #Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 #Python
对python 匹配字符串开头和结尾的方法详解
Oct 27 #Python
Python判断以什么结尾以什么开头的实例
Oct 27 #Python
浅谈Python脚本开头及导包注释自动添加方法
Oct 27 #Python
使用python实现http及ftp服务进行数据传输的方法
Oct 26 #Python
python 快速把超大txt文件转存为csv的实例
Oct 26 #Python
You might like
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
php支持断点续传、分块下载的类
2016/05/02 PHP
使用Zttp简化Guzzle 调用
2017/07/02 PHP
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
2013/03/05 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
AngularJS实现动态切换样式的方法分析
2018/06/26 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
使用 Vue-TCB 快速在 Vue 应用中接入云开发的方法
2020/02/10 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
Python函数式编程指南(四):生成器详解
2015/06/24 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
Django开发的简易留言板案例详解
2018/12/04 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
Python实现数据结构线性链表(单链表)算法示例
2019/05/04 Python
python做反被爬保护的方法
2019/07/01 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
浅谈Python中的模块
2020/06/10 Python
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
英国最大的奢侈品零售网络商城:Flannels
2016/09/16 全球购物
广州喜创信息技术有限公司JAVA软件工程师笔试题
2012/10/17 面试题
优秀实习生感言
2014/03/01 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
小组口号大全
2014/06/09 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
工会积极分子个人总结
2015/03/03 职场文书
体检通知范文
2015/04/21 职场文书
鉴史问廉观后感
2015/06/10 职场文书
统招统分证明
2015/06/23 职场文书
教你怎么用python selenium实现自动化测试
2021/05/27 Python
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫