Я новичок в использовании Spyder 2.3.0 и Python 3.4.1Как я могу скопировать различные типы файлов в Python, сохраняя при этом своей структуре каталогов
У меня есть структура каталогов с подкаталогами.
В отличие от других примеров в Интернете, я хочу выбрать несколько типов файлов и скопировать структуру каталогов. Я пробовал ниже, и он работает, но он принимает только один тип файла за раз, а «copytree
« поперек »(это будет очень медленно).
Есть ли способ или другой способ упростить это, чтобы сделать его быстрее?
То, что я думал, что я хотел сделать, это:
Сделать полный список типов файлов и местоположений (ходьба через структуру каталогов)
Например заканчивая
fileExt = [".txt", ".doc", ".docx", ".xls",".xlsx", ".ppt", ".pptx", ".m", ".xmcd", ".pdf " ]
Тогда с что список просто «shutil.copytree
»
Любой совет, который получил высокую оценку.
srcDir = 'c:/a/src/dir/'
dirName = 'c:/a/dest/dir/'
import os
import shutil
##################################################################################
dstDir = os.path.abspath(dirName)
def ignore_list(path, files):
filesToIgnore = []
for fileName in files:
fullFileName = os.path.join(os.path.normpath(path), fileName)
if not os.path.isdir(fullFileName) and not fileName.endswith('.txt') :
filesToIgnore.append(fileName)
return filesToIgnore
# start of script
shutil.copytree(srcDir, dstDir, ignore=ignore_list)
####################################################################################################################################################################
dstDir = os.path.abspath(dirName)
def ignore_list(path, files):
filesToIgnore = []
for fileName in files:
fullFileName = os.path.join(os.path.normpath(path), fileName)
if not os.path.isdir(fullFileName) and not fileName.endswith('.docx') :
filesToIgnore.append(fileName)
return filesToIgnore
# start of script
shutil.copytree(srcDir, dstDir, ignore=ignore_list)
####################################################
Скопируйте и вставьте изменения «EndsWith ('DOCX.):»
возможно, fnmatch помогает. Пожалуйста, смотрите здесь: https://docs.python.org/2/library/fnmatch.html – Humbalan