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、Javascript中的闭包比较
Feb 04 Python
python实现分析apache和nginx日志文件并输出访客ip列表的方法
Apr 04 Python
Python数据类型详解(四)字典:dict
May 12 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
Apr 08 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
python同时替换多个字符串方法示例
Sep 17 Python
解决python中的幂函数、指数函数问题
Nov 25 Python
NumPy中的维度Axis详解
Nov 26 Python
Python发送手机动态验证码代码实例
Feb 28 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
Jun 11 Python
python中entry用法讲解
Dec 04 Python
pandas取dataframe特定行列的实现方法
May 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
地摊中国 - 珍藏老照片
2020/08/18 杂记
php 文件上传代码(限制jpg文件)
2010/01/05 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
php判断手机访问还是电脑访问示例分享
2014/01/20 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
jquery属性过滤选择器使用示例
2013/06/18 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
jquery判断页面网址是否有效的两种方法
2016/12/11 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
js实现每日签到功能
2018/11/29 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
python简单实现计算过期时间的方法
2015/06/09 Python
python:接口间数据传递与调用方法
2018/12/17 Python
Python restful框架接口开发实现
2020/04/13 Python
python连接mysql有哪些方法
2020/06/24 Python
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
高分子材料个人求职信范文
2013/09/25 职场文书
医学院毕业生自荐信
2013/11/08 职场文书
数学系毕业生的自我评价
2014/01/10 职场文书
演讲稿格式范文
2014/05/19 职场文书
批评与自我批评范文
2014/10/15 职场文书
清明节文明祭祀倡议书
2015/04/28 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
夏洛特的网观后感
2015/06/15 职场文书
离职信范文
2015/06/23 职场文书
大学生党课感想
2015/08/11 职场文书
SpringBoot 集成Redis 过程
2021/06/02 Redis
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python