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中os.path用法分析
Jan 15 Python
python根据京东商品url获取产品价格
Aug 09 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
Mar 13 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
Apr 21 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
Jul 18 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
PyQt5实现简单数据标注工具
Mar 18 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 Python
django数据库自动重连的方法实例
Jul 21 Python
如何基于python操作json文件获取内容
Dec 24 Python
python enumerate内置函数用法总结
Jan 07 Python
python+selenium+chromedriver实现爬虫示例代码
Apr 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
PHP利用header跳转失效的解决方法
2014/10/24 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
php对象工厂类完整示例
2018/08/09 PHP
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
Angular移动端页面input无法输入的解决方法
2017/11/14 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
Vue3为什么这么快
2020/09/23 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
解决python3 网络请求路径包含中文的问题
2018/05/10 Python
python爬取淘宝商品销量信息
2018/11/16 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
通信工程毕业生求职信
2013/11/16 职场文书
大学班级干部的自我评价分享
2014/02/10 职场文书
优秀食品类广告词
2014/03/19 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
大学感恩节活动总结
2015/05/05 职场文书
校长新学期寄语2016
2015/12/04 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python