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 相关文章推荐
用Python抢过年的火车票附源码
Dec 07 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
聊聊Python中的pypy
Jan 12 Python
python指定写入文件时的编码格式方法
Jun 07 Python
python 统计数组中元素出现次数并进行排序的实例
Jul 02 Python
python threading和multiprocessing模块基本用法实例分析
Jul 25 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
Python对列表的操作知识点详解
Aug 20 Python
python递归下载文件夹下所有文件
Aug 31 Python
Windows下Anaconda安装、换源与更新的方法
Apr 17 Python
Python通过Schema实现数据验证方式
Nov 12 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 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
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
基于webpack.config.js 参数详解
2018/03/20 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
jQuery实现移动端扭蛋机抽奖
2020/11/08 jQuery
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
Python 连连看连接算法
2008/11/22 Python
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
python中判断文件结束符的具体方法
2020/08/04 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
使用layui实现左侧菜单栏及动态操作tab项的方法
2020/11/10 HTML / CSS
普天C++笔试题
2016/03/20 面试题
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
项目合作意向书范本
2014/04/01 职场文书
党员创先争优活动总结
2014/05/04 职场文书
2014四风问题对照检查材料范文
2014/09/15 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS
MongoDB支持的索引类型
2022/04/11 MongoDB