我正在尝试找出如何将CAD图形(“.dwg”、“.dxf”)从包含子文件夹的源目录复制到目标目录,并保持原始目录和子文件夹结构。原始目录:H:\坦桑尼亚…\Bagamoyo_Single_line.dwg
源目录:H:\CAD\Tanzania…\Bagamoyo_Single_line.dwgfrom fnmatch import fnmatch, filter
from os.path import isdir, join
from shutil import copytree
def include_patterns(*patterns):
"""Factory function that can be used with copytree() ignore parameter.
Arguments define a sequence of glob-style patterns
that are used to specify what files to NOT ignore.
Creates and returns a function that determines this for each directory
in the file hierarchy rooted at the source directory when used with
shutil.copytree().
"""
def _ignore_patterns(path, names):
keep = set(name for pattern in patterns
for name in filter(names, pattern))
ignore = set(name for name in names
if name not in keep and not isdir(join(path, name)))
return ignore
return _ignore_patterns
# sample usage
copytree(src_directory, dst_directory,
ignore=include_patterns('*.dwg', '*.dxf'))
更新时间:18:21。以下代码按预期工作,但我希望忽略不包含任何包含模式的文件夹('.dwg','.dxf')