# 图片文件夹和标签文件夹对比
# -*- coding: utf-8 -*-
import os
import shutil
# # path1和path2分别列出两个文件夹路径,自己根据情况更换
# path1 = r'/home/qq/Downloads/vota/image/train2017/images' #图片的
# path2 = r'/home/qq/Downloads/vota/image/train2017/labelTxt'#txt的
# path3duoyu = r'/media/qq/work/drone/test/testxml'
# path1和path2分别列出两个文件夹路径,自己根据情况更换
path1 = r'/media/qq/work/drone/test/labels'
path2 = r'/media/qq/work/drone/test/testxml'
path3duoyu = r'/media/qq/work/drone/test/duoyu'
def file_name(image_dir, xml_dir):
jpg_list = []
xml_list = []
for root, dirs, files in os.walk(image_dir):
for file in files:
jpg_list.append(os.path.splitext(file)[0])
for root, dirs, files in os.walk(xml_dir):
for file in files:
xml_list.append(os.path.splitext(file)[0])
print(len(jpg_list))
diff = set(xml_list).difference(set(jpg_list)) # 差集,在 txt 中但不在 jpg 中的元素
for name in diff:
# print("no jpg", name + ".txt")#需修改 path2对应的文件后缀
# namecs = name + ".txt"
print("no jpg", name + ".xml")#需修改 path2对应的文件后缀
namecs = name + ".xml"
shutil.move(os.path.join(path2, namecs), path3duoyu)
diff2 = set(jpg_list).difference(set(xml_list)) # 差集,在jpg中但不在txt中的元素
print(len(diff2))
for name in diff2:
# print("no xml", name + ".jpg")#需修改 path1对应的文件后缀
# namecs = name + ".jpg"
print("no xml", name + ".txt") # 需修改 path1对应的文件后缀
namecs = name + ".txt"
shutil.move(os.path.join(path1, namecs), path3duoyu)
if __name__ == '__main__':
file_name(path1, path2)
# ————————————————
# 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
# 原文链接:https://blog.csdn.net/m0_46653805/article/details/129838221
比较图片和标签文件个数是否一致,并将多余的移动到另外的文件夹
最新推荐文章于 2024-07-12 10:21:37 发布