遍历文件夹,批量将yml文件转成json文件,label预处理

时间:2025-04-05 09:17:17
  • #################################################
  • """
  • Author: wangjiazhou
  • Date: 2022/03/03
  • Function: covert yml file to json file in a folder
  • Notes: 将一个文件夹中的所有yml文件转化成同名的json文件,并存入设置好的json文件夹中。
  • """
  • #################################################
  • import os
  • import json
  • import yaml
  • def yml2json(yml_path, json_path):
  • for root, dirs, files in (yml_path):
  • # root 表示当前正在访问的文件夹路径
  • # dirs 表示该文件夹下的子目录名list
  • # files 表示该文件夹下的文件list
  • for idx, file_name in enumerate(files):
  • if file_name.find(".yml") != -1: # 只寻找yml格式文件
  • yml_file_path = yml_path + file_name
  • with open(yml_file_path, 'r') as yaml_file:
  • if 0: # 是否需要删除第一行(碰见因第一行是%YAML时使用)
  • with open(yml_file_path, 'r') as file:
  • lines = ()
  • with open(yml_file_path, 'w') as file:
  • (lines[1:])
  • if 1:
  • yaml_data = (yaml_file, )
  • # 转换为JSON格式
  • json_data = (yaml_data)
  • file_name = file_name.split(".")[0] # 去除掉后缀
  • json_file_path = json_path + file_name + ".json"
  • with open(json_file_path, 'w') as f:
  • (json_data)
  • print(idx+1, end="")
  • print(" yml file converted")
  • print(yml_file_path, end="")
  • print(" all files done!")
  • if __name__ == '__main__':
  • yml_path = "E:\\dataset\\annotations\\" # 存放yml标注文件的文件夹位置
  • json_path = "E:\\dataset\\annotations_json\\" # 预计存放json格式标注文件的文件夹位置
  • yml2json(yml_path, json_path)