首页 > 解决方案 > 如何将嵌套子文件夹中的多个xml文件复制到一个统一文件夹中

问题描述

在python中,如何将具有数千个子和子子文件夹的目录中的多个xml文件复制到可以找到所有xml的统一目录中?

xmls 可以在 "mike / * / * /* /*.xml" 和输出 dist 中找到:例如 "alice/"

标签: python-3.x

解决方案


这可以使用内置的pathlib 模块来实现。使用该rglob方法在给定目录中递归搜索文件。

from pathlib import Path

path_dir_origin = Path('mike')
path_dir_destination = Path('alice')
path_dir_destination.mkdir(exist_ok=True)

for path_xml_origin in path_dir_origin.rglob('*.xml'):
    path_xml_destination = path_dir_destination.joinpath(path_xml_origin.name)
    path_xml_destination.write_text(path_xml_origin.read_text())

编辑:

由于 OP 在复制 xml 文件时遇到问题,因此使用 shutils 进行复制可能是明智之举。

from pathlib import Path
from shutil import copyfile

path_dir_origin = Path('mike')
path_dir_destination = Path('alice')
path_dir_destination.mkdir(exist_ok=True)

for path_xml_origin in path_dir_origin.rglob('*.xml'):
    path_xml_destination = path_dir_destination.joinpath(path_xml_origin.name)
    copyfile(path_xml_origin, path_xml_destination)

推荐阅读