import os
import xml.etree.ElementTree as ET

# 设置XML文件夹路径
xml_folder = r""  # 替换为您的XML文件夹路径
empty_class_files = []

# 遍历XML文件夹中的所有XML文件
for filename in os.listdir(xml_folder):
    if filename.endswith(".xml"):
        file_path = os.path.join(xml_folder, filename)
        try:
            # 解析XML文件
            tree = ET.parse(file_path)
            root = tree.getroot()
            
            # 检查是否有object元素
            objects = root.findall("object")
            
            # 如果没有object元素,这个文件被认为是空类别
            if len(objects) == 0:
                empty_class_files.append(filename)
                print(f"发现空类别文件: {filename}")
            else:
                # 检查每个object是否有空的name标签
                for obj in objects:
                    name_tag = obj.find("name")
                    if name_tag is None or name_tag.text is None or name_tag.text.strip() == "":
                        if filename not in empty_class_files:
                            empty_class_files.append(filename)
                            print(f"发现含有空类别名称的文件: {filename}")
                            break
                    
        except Exception as e:
            print(f"解析文件 {filename} 时出错: {str(e)}")

print(f"\n总计发现 {len(empty_class_files)} 个空类别文件:")
for file in empty_class_files:
    print(file)

# 如果需要,可以将空类别文件列表保存到文本文件中
with open("empty_class_files.txt", "w") as f:
    for file in empty_class_files:
        f.write(f"{file}\n")
    print("\n空类别文件列表已保存至 empty_class_files.txt")

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐