python实现根据文件名找出(拷贝/剪切)同名文件的不同类型文件

本人在制作数据集用于目标检测时,要让训练集的图像文件(jpg)和标注文件(xml或json,shp等)的文件名保持一致和文件数量相等,预测结果根据挑选出来的正确结果,把相关文件的其他类型文件一并找出,处理的数据量较大,故写了几行简单的代码实现文件名相同但是类型(文件后缀)不同的文件的一并筛选出来,发现非常便利,便做个分享。


#根据挑选的jpg文件找出对应的xml、json、shp、dbf、shx文件
import os 
import shutil

filepath1 = '/opt/netdisk/object_detection/project/results/case2/xml'#源文件做参考
file_list = os.listdir(filepath1)
print(file_list)
print(len(file_list))

filepath2 = '/opt/netdisk/object_detection/project/results/case2/jpg'#需要拷出的文件位置
filepath3 = '/opt/netdisk/1/object_detection/project/results/case2/jpgnew'#拷入新的文件夹
print(len(os.listdir(filepath2)))

def main():
    n=0
    for file in os.listdir(filepath2):
        aa,bb=file.split('x')
        b = aa +'jpg'
        print(b)
        if b in file_list:
            srcfile = filepath2 +'/'+ file
            dstfile = filepath3 +'/'+ file
            shutil.move(srcfile,dstfile)#剪切功能
            shutil.copyfile(srcfile,dstfile)#拷贝出来
            n=n+1
            print(n)

if __name__ == '__main__':
    main()

filepath1是获得的正确结果或需要的已有数据,拿来做文件名对比
filepath2是想要将文件拷贝或截切出来的文件夹
filepath3是存放拷贝或剪切出来的文件的位置

猜你喜欢

转载自blog.csdn.net/qq_44442727/article/details/112792866