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

yipeiwu_com7年前Python基础

如下所示:

#!/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基于递归算法实现的走迷宫问题

本文实例讲述了Python基于递归算法实现的走迷宫问题。分享给大家供大家参考,具体如下: 什么是递归? 简单地理解就是函数调用自身的过程就称之为递归。 什么时候用到递归? 如果一...

Python实现繁體转为简体的方法示例

本文实例讲述了Python实现繁體转为简体的方法。分享给大家供大家参考,具体如下: 这里需要用到两个文件,可以点击此处本站下载源文件:zh_wiki.py  和 la...

解决python写入mysql中datetime类型遇到的问题

刚开始使用python,还不太熟练,遇到一个datetime数据类型的问题: 在mysql数据库中,有一个datetime类型的字段用于存储记录的日期时间值。python程序中有对应的一...

Python处理命令行参数模块optpars用法实例分析

本文实例讲述了Python处理命令行参数模块optpars用法。分享给大家供大家参考,具体如下: optpars是python中用来处理命令行参数的模块,可以自动生成程序的帮助信息,功能...

Python socket.error: [Errno 98] Address already in use的原因和解决方法

一、原因浅析 今天在写一个Python与html5 Websocket 实例,么次终止运行重新运行脚本总是提示地址已经存在并且被使用!查询相关文档才知道在socket编程中,当通过客户端...