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 urllib模块urlopen()与urlretrieve()详解
Nov 01 Python
Python pandas DataFrame操作的实现代码
Jun 21 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
超简单的Python HTTP服务
Jul 22 Python
python nmap实现端口扫描器教程
May 28 Python
Django 请求Request的具体使用方法
Nov 11 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
Feb 25 Python
Python运行异常管理解决方案
Mar 09 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
Python中内建模块collections如何使用
May 27 Python
详解Pycharm与anaconda安装配置指南
Aug 25 Python
python中opencv实现图片文本倾斜校正
Jun 11 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
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
一个简单php扩展介绍与开发教程
2010/08/19 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
PHP curl 并发最佳实践代码分享
2012/09/05 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
ThinkPHP实现带验证码的文件上传功能实例
2014/11/01 PHP
php创建session的方法实例详解
2015/01/27 PHP
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
PHP7下协程的实现方法详解
2017/12/17 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
2013/12/10 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
javascript 闭包详解
2015/02/15 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
AngularJS双向绑定和依赖反转实例详解
2017/04/15 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
通过实例了解JS 连续赋值
2019/09/24 Javascript
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
python分数表示方式和写法
2019/06/26 Python
django admin组件使用方法详解
2019/07/19 Python
Python使用指定端口进行http请求的例子
2019/07/25 Python
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
Java工程师面试集锦之Spring框架
2013/06/16 面试题
如何开启linux的ssh服务
2013/06/03 面试题
小区门卫值班制度
2014/01/24 职场文书
善意的谎言事例
2014/02/15 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python