python 拷贝特定后缀名文件,并保留原始目录结构的实例
如下所示:
#!/usr/bin/python
#-*-coding:UTF-8-*-
importos
importshutil
defcp_tree_ext(exts,src,dest):
"""
RebuildthedirectortreelikesrcbelowdestandcopyallfileslikeXXX.extstodest
exts:exetensseperatebyblanklike"jpgpnggif"
"""
fp={}
extss=exts.lower().split()
fordn,dns,fnsinos.walk(src):
forflinfns:
ifos.path.splitext(fl.lower())[1][1:]inextss:
ifdnnotinfp.keys():
fp[dn]=[]
fp[dn].append(fl)
fork,vinfp.items():
relativepath=k[len(src)+1:]
newpath=os.path.join(dest,relativepath)
forfinv:
oldfile=os.path.join(k,f)
print("拷贝["+oldfile+"]至["+newpath+"]")
ifnotos.path.exists(newpath):
os.makedirs(newpath)
shutil.copy(oldfile,newpath)
#用法如下:
#
#cp_tree_ext(exts,src,dest)
#
#exts:以空格分隔的字符串,可多个拓展名,如"battxt"
#src:原目录
#dest:目标目录,如果不存在,则建立
cp_tree_ext('docdocx','/home/lincoln/python/copy/source','/home/lincoln/python/copy/target')
只是段代码,直接调用cp_tree_ext(exts,src,dest)方法即可。
以上这篇python拷贝特定后缀名文件,并保留原始目录结构的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。