Heim >Backend-Entwicklung >Python-Tutorial >Python kopiert Dateien mit bestimmten Suffixen und behält die ursprüngliche Verzeichnisstruktur bei.

Python kopiert Dateien mit bestimmten Suffixen und behält die ursprüngliche Verzeichnisstruktur bei.

不言
不言Original
2018-05-02 15:53:101738Durchsuche

Dieser Artikel stellt hauptsächlich Beispiele für das Kopieren von Dateien mit bestimmten Suffixnamen in Python und die Beibehaltung der ursprünglichen Verzeichnisstruktur vor. Jetzt kann ich ihn mit Ihnen teilen.

lautet wie folgt:

#!/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')

ist nur ein Teil des Codes. Rufen Sie cp_tree_ext(exts,src) direkt auf ,dest)-Methode, also Can.


Das obige ist der detaillierte Inhalt vonPython kopiert Dateien mit bestimmten Suffixen und behält die ursprüngliche Verzeichnisstruktur bei.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn