python 拷贝特定后缀名文件,并保留原始目录结构的实例


Posted in Python onApril 27, 2018

如下所示:

#!/usr/bin/python
# -*- coding: UTF-8 -*- 
import os
import shutil
def cp_tree_ext(exts,src,dest):
  """
  Rebuild the director tree like src below dest and copy all files like XXX.exts to dest 
  exts:exetens seperate by blank like "jpg png gif"
  """
  fp={}
  extss=exts.lower().split()
  for dn,dns,fns in os.walk(src):
    for fl in fns:
      if os.path.splitext(fl.lower())[1][1:] in extss:
        if dn not in fp.keys():
          fp[dn]=[]
        fp[dn].append(fl)
  for k,v in fp.items():
      relativepath=k[len(src)+1:]
      newpath=os.path.join(dest,relativepath)
      for f in v:
        oldfile=os.path.join(k,f)
        print("拷贝 ["+oldfile+"] 至 ["+newpath+"]")
        if not os.path.exists(newpath):
          os.makedirs(newpath)
        shutil.copy(oldfile,newpath)
#用法如下:
#
#cp_tree_ext(exts,src,dest)
#
#exts:以空格分隔的字符串,可多个拓展名,如"bat txt"
#src:原目录
#dest:目标目录,如果不存在,则建立
cp_tree_ext('doc docx','/home/lincoln/python/copy/source','/home/lincoln/python/copy/target')

只是段代码,直接调用cp_tree_ext(exts,src,dest) 方法即可。

以上这篇python 拷贝特定后缀名文件,并保留原始目录结构的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现程序的单一实例用法分析
Jun 03 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
python和ruby,我选谁?
Sep 13 Python
Python使用re模块正则提取字符串中括号内的内容示例
Jun 01 Python
Sanic框架应用部署方法详解
Jul 18 Python
TensorFlow用expand_dim()来增加维度的方法
Jul 26 Python
Python对切片命名的实现方法
Oct 16 Python
Python实现简单层次聚类算法以及可视化
Mar 18 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 Python
Python 读取xml数据,cv2裁剪图片实例
Mar 10 Python
Python根据字符串调用函数过程解析
Nov 05 Python
python中subprocess批量执行linux命令
Apr 27 #Python
python复制文件到指定目录的实例
Apr 27 #Python
Python多进程multiprocessing.Pool类详解
Apr 27 #Python
python获取程序执行文件路径的方法(推荐)
Apr 26 #Python
python中的文件打开与关闭操作命令介绍
Apr 26 #Python
python3获取当前文件的上一级目录实例
Apr 26 #Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
Apr 26 #Python
You might like
如何使用PHP获取网络上文件
2006/10/09 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
js 页面输出值
2008/11/30 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
js面向对象的写法
2016/02/19 Javascript
javascript基础知识
2016/06/07 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
python实现马耳可夫链算法实例分析
2015/05/20 Python
Python数据库的连接实现方法与注意事项
2016/02/27 Python
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
pandas 选择某几列的方法
2018/07/03 Python
python批量修改图片大小的方法
2018/07/24 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
介绍一下Python下range()函数的用法
2013/11/07 面试题
Java语言程序设计测试题判断题部分
2013/01/06 面试题
销售总监岗位职责
2014/01/04 职场文书
珍珠鸟教学反思
2014/02/01 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
电影雨中的树观后感
2015/06/15 职场文书
2016党员入党决心书
2015/09/22 职场文书
不要在HTML中滥用div
2021/05/08 HTML / CSS
详细总结Python常见的安全问题
2021/05/21 Python
美元符号 $
2022/02/17 杂记
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技