c_matchtiffjson.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import os
  2. import shutil
  3. # 输入文件夹路径:只需修改这三行
  4. json_folder = r"G:\python_ws_g\data\manycircle"
  5. tiff_folder = r"G:\python_ws_g\data\rgbd_tiff"
  6. output_folder = r"G:\python_ws_g\data\tiff_json"
  7. # 创建输出文件夹(如不存在)
  8. os.makedirs(output_folder, exist_ok=True)
  9. # 提取 json 文件中的标识前缀(用于匹配)
  10. json_files = [f for f in os.listdir(json_folder) if f.endswith('_color.json')]
  11. json_keys = {f.replace('_color.json', ''): f for f in json_files}
  12. # 遍历 tiff 文件,尝试匹配 json
  13. matched_count = 0
  14. for tiff_name in os.listdir(tiff_folder):
  15. if not tiff_name.endswith('.tiff'):
  16. continue
  17. if '_rgbd.tiff' not in tiff_name:
  18. continue
  19. key = tiff_name.replace('_rgbd.tiff', '')
  20. if key in json_keys:
  21. # 匹配成功,复制两份文件到目标目录
  22. json_src = os.path.join(json_folder, json_keys[key])
  23. tiff_src = os.path.join(tiff_folder, tiff_name)
  24. shutil.copy(json_src, os.path.join(output_folder, json_keys[key]))
  25. shutil.copy(tiff_src, os.path.join(output_folder, tiff_name))
  26. print(f"匹配并复制:{json_keys[key]} <-> {tiff_name}")
  27. matched_count += 1
  28. print(f"\n✅ 共复制 {matched_count} 对文件到:{output_folder}")