python-3.x - 如何将嵌套子文件夹中的多个xml文件复制到一个统一文件夹中
问题描述
在python中,如何将具有数千个子和子子文件夹的目录中的多个xml文件复制到可以找到所有xml的统一目录中?
xmls 可以在 "mike / * / * /* /*.xml" 和输出 dist 中找到:例如 "alice/"
解决方案
这可以使用内置的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)
推荐阅读
- python - 识别python中的函数
- angular - Angular 7:性能问题和许多人调用 ngAfterViewChecked
- javascript - Chart.js and Angular 8 - 从 *ngfor 动态更新 Chart.js 标签和数据
- testing - 测试应该找到一个特定的图标
- wordpress - 结帐页面中关于城市更改的总刷新
- java - 安装后找不到openjfx,除了终端显示红色的文件名
- r - 从不一致的网站下载数据的 R 脚本
- python - 如何使用 PRAW 在 reddit 中仅获取用户的 top/most_recent 5 次提交
- database - 用户设置服务数据库设计
- sql - SQL 内连接返回重复项