這篇文章主要介紹了關於python 拷貝特定尾碼名檔案,並保留原始目錄結構的執行個體,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
如下所示:
#!/usr/bin/python# -*- coding: UTF-8 -*- import osimport shutildef 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) 方法即可。