>백엔드 개발 >파이썬 튜토리얼 >Python은 특정 접미사가 붙은 파일을 복사하고 원래 디렉터리 구조를 유지합니다.

Python은 특정 접미사가 붙은 파일을 복사하고 원래 디렉터리 구조를 유지합니다.

不言
不言원래의
2018-05-02 15:53:101743검색

이 글에서는 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은 특정 접미사가 붙은 파일을 복사하고 원래 디렉터리 구조를 유지합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.