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代码解决RenderView窗口not found问题

Python代码解决RenderView窗口not found问题

源起   Error:setParent: Object 'renderView' not found   这是一个在工作中很常见的问题,以前做特效的时候有10%的概率会碰到,多发生在打...

Python基于time模块求程序运行时间的方法

Python基于time模块求程序运行时间的方法

本文实例讲述了Python基于time模块求程序运行时间的方法。分享给大家供大家参考,具体如下: 要记录程序的运行时间可以利用Unix系统中,1970.1.1到现在的时间的毫秒数,这个时...

web.py获取上传文件名的正确方法

直接切入主题,从HTML页面上传文件,Python接收处理。但其中发现有些小问题,把它写出来,算是积累吧! HTML页面代码: 复制代码 代码如下: <form action="/...

python通过wxPython打开一个音频文件并播放的方法

本文实例讲述了python通过wxPython打开一个音频文件并播放的方法。分享给大家供大家参考。具体如下: 这段代码片段使用wx.lib.filebrowsebutton.FileBr...

跟老齐学Python之有容乃大的list(4)

list的话题的确不少,而且,在编程中,用途也非常多。 有看官可能要问了,如果要生成一个list,除了要把元素一个一个写上之外,有没有能够让计算机自己按照某个规律生成list的方法呢?...