栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

python将几个子文件夹中的文件批量重命名+保存到指定文件夹下

Python 更新时间:发布时间: 百科书网 趣学号

写在前面:本地文件格式如下

Annotation文件夹下有许多子文件夹,子文件夹中是XML文件。

想要把所有文件放到一个labels文件夹中,并进行重命名。

代码如下:

import os
from shutil import copy

path="D:/Research direction/data set/DL data/VOCdevkit DL/VOC2007/Annotations" #原文件夹
out="D:/Research direction/data set/DL data/labels"  #保存的文件夹地址

#获取文件列表
allfilelist=os.listdir(path)  #获取子文件夹名
allfilelist.sort(key=lambda x: int(x[4:]))   #第四个字符以后的字符串转化为数字并进行排序
    # print(allfilelist)
    # print(len(allfilelist))
index = 1
for file in allfilelist:
    filepath = os.path.join(path, file)
    img_names = os.listdir(filepath)  #获取子文件夹中的文件名
    img_names.sort(key=lambda x: int(x[:-4]))  #倒数第五个字符以前的字符串转化为数字并进行排序
    # print(img_names)
    # 打印文件夹下的数量
    # print(len(img_names))
    # 循环读取文件,批操作文件名重命名

    for item in img_names:
            if item.endswith('.xml'):  # 根据自己的文件格式修改
                src_path = os.path.join(os.path.abspath(filepath), item)
                dst_path = os.path.join(os.path.abspath(out), '' + str(index) + '.xml')
                copy(src_path, dst_path)
                index = index + 1

 点击运行即可。

此方法保证了文件顺序不被改变,对于数据集的处理很好用。

参考:基于Python 从一个文件夹读取照片,修改尺寸后重命名存入另一个文件夹_CSDN@zxy的博客-CSDN博客python提升篇(十)---批量读取文件重命名_xyl666666的博客-CSDN博客python 递归获取子文件夹下的文件名 和文件类别标签_GREAT的博客-CSDN博客

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/272968.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号