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 流程控制实例代码
Sep 25 Python
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
Python中利用原始套接字进行网络编程的示例
May 04 Python
python基于phantomjs实现导入图片
May 13 Python
关于pandas的离散化,面元划分详解
Nov 22 Python
关于Python3 lambda函数的深入浅出
Nov 27 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
Dec 12 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
Jan 04 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
实现ECharts双Y轴左右刻度线一致的例子
May 16 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 Python
Python面向对象之内置函数相关知识总结
Jun 24 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
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
PHP安全上传图片的方法
2015/03/21 PHP
php curl 上传文件代码实例
2015/04/27 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
2016/05/10 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
2014/05/07 HTML / CSS
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
业务副厂长岗位职责
2014/01/03 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
《在大海中永生》教学反思
2014/02/24 职场文书
医药营销个人求职信
2014/04/12 职场文书
法人代表身份证明书及授权委托书
2014/09/16 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
检察院起诉书
2015/05/20 职场文书
贷款收入证明格式
2015/06/24 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书