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 相关文章推荐
centos6.7安装python2.7.11的具体方法
Jan 16 Python
python 爬虫出现403禁止访问错误详解
Mar 11 Python
Python实现小数转化为百分数的格式化输出方法示例
Sep 20 Python
机器学习python实战之决策树
Nov 01 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
Nov 23 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
Python实用工具FuckIt.py介绍
Jul 02 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
Python3实现zip分卷压缩过程解析
Oct 09 Python
pyqt5中动画的使用详解
Apr 01 Python
详解python安装matplotlib库三种失败情况
Jul 28 Python
详解Python为什么不用设计模式
Jun 24 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框架系列文章(6)mysql数据库方法
2016/03/04 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
JQuery从头学起第三讲
2010/07/06 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
js字符串操作方法实例分析
2015/05/06 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
js+css绘制颜色动态变化的圈中圈效果
2016/01/27 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
[42:20]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
Python自动扫雷实现方法
2015/07/25 Python
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
matplotlib 纵坐标轴显示数据值的实例
2018/05/25 Python
python可视化实现代码
2019/01/15 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
Python Opencv实现单目标检测的示例代码
2020/09/08 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
Carter’s官方旗舰店:美国受欢迎的婴童服装品牌
2018/01/21 全球购物
C有"按引用传递"吗
2016/09/06 面试题
因家庭原因离职的辞职信范文
2015/05/12 职场文书
聘用合同范本
2015/09/21 职场文书
Ajax实现异步加载数据
2021/11/17 Javascript
springboot 多数据源配置不生效遇到的坑及解决
2021/11/17 Java/Android
python使用BeautifulSoup 解析HTML
2022/04/24 Python
Golang实现可重入锁的示例代码
2022/05/25 Golang
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL