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单链表实现代码实例
Nov 21 Python
Python判断文件和字符串编码类型的实例
Dec 21 Python
Python爬虫获取整个站点中的所有外部链接代码示例
Dec 26 Python
pandas 小数位数 精度的处理方法
Jun 09 Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 Python
python用opencv完成图像分割并进行目标物的提取
May 25 Python
python中如何进行连乘计算
May 28 Python
windows支持哪个版本的python
Jul 03 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
Oct 15 Python
浅析Python打包时包含静态文件处理方法
Jan 15 Python
Pytorch之扩充tensor的操作
Mar 04 Python
python读取mnist数据集方法案例详解
Sep 04 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
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
WebQQ最新登陆协议的用法
2014/12/22 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
js判断屏幕分辨率的代码
2013/07/16 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
在vue中使用css modules替代scroped的方法
2018/03/10 Javascript
Node.js 的 GC 机制详解
2019/06/03 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
python实现视频分帧效果
2019/05/31 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
网络教育自我鉴定
2013/11/01 职场文书
红领巾心向党广播稿
2014/01/19 职场文书
初二学习计划书范文
2014/04/27 职场文书
食品科学与工程专业毕业生求职信范文
2014/07/21 职场文书
2014年小学生教师节演讲稿范文
2014/09/10 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
订货会邀请函
2015/01/31 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
Python实现批量自动整理文件
2022/03/16 Python
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript