2021-09-26

数据集处理01

最近要开题了,任务繁重,一是数据集的整理工作,一是代码的学习;
记录一下,这两天的处理任务吧,以后或许也能用的上。
感谢原码大神搭救
https://blog.csdn.net/weixin_43124425/article/details/108262898

第一部分是对于不同文件夹下同名文件进行比较,并划分出不同文件再另存。

import os
from shutil import copy

def main():
    file1_path = r'G:\research\AdvSemiSeg-master\dataset\DUT-USEG\SegmentationClassAug1'
    file2_path = r'G:\SegmentationClassAug2'
    # 遍历两个路径下的文件 对其中.png属性的文件进行筛选,和file1文件内容进行文件名(不含文件属性,只看名称)的对比找出不在对方文件中.png文件,保存到另外一个文件中
    # 对于 后缀不同的文件类型,如.jpg,.mp3,.py等等都适用,只需更改代码中后缀即可
    
    # 将fiile1文件夹下的所有文件去除后缀,只读取名称,同理对file2进行处理
    file1_list = set([_.split('.')[0] for _ in os.listdir(file1_path)])
    file2_list = set([_.split('.')[0] for _ in os.listdir(file2_path) if '.png' in _])
    
    # 找出两个列表中的不同部分,即是我们需要的文件
    diff_list = list(file1_list ^ file2_list)

    # 判断另存文件夹是否存在,若不存在则新建,命名为
    if not os.path.exists(os.path.join('G:/', 'diffrent_file')):
        os.mkdir(os.path.join('G:/', 'diffrent_file'))

    for d_file in diff_list:
        # from_path = os.path.join(pdf_path, d_file + '.pdf')
        from_path = os.path.join(pdf_path, d_file + '.png')

        to_path = os.path.join('G:/', 'diffrent_file')  # 保存不同名文件的文件夹

        copy(from_path, to_path)
        
        print(d_file + '.png' )


if __name__ == '__main__':
    main()
上一篇:五.文件的读写+字典


下一篇:Java基础学习笔记总结(1)目录拷贝,递归方法,java代码实现。