change_dir.py 1.2 KB

1234567891011121314151617181920212223242526272829
  1. import argparse
  2. # -------------------------------------------------------------------------------------------------------------------- #
  3. # 设置
  4. parser = argparse.ArgumentParser(description='更改yolo格式数据集train.txt和val.txt中图片的路径')
  5. parser.add_argument('--data_path', default=r'D:\dataset\ObjectDetection\voc', type=str, help='|数据根目录所在目录|')
  6. parser.add_argument('--change_dir', default=r'D:\dataset\ObjectDetection\voc', type=str, help='|将路径中目录换成change_dir|')
  7. args = parser.parse_args()
  8. args.train_txt = args.data_path + '/train.txt'
  9. args.val_txt = args.data_path + '/val.txt'
  10. args.test_txt = args.data_path + '/test.txt'
  11. args.txt_change = args.change_dir + '/images'
  12. # -------------------------------------------------------------------------------------------------------------------- #
  13. # 程序
  14. def change_dir(txt):
  15. with open(txt, 'r')as f:
  16. label = f.readlines()
  17. label = [args.txt_change + _.split('images')[-1] for _ in label]
  18. with open(txt, 'w')as f:
  19. f.writelines(label)
  20. if __name__ == '__main__':
  21. change_dir(args.train_txt)
  22. change_dir(args.val_txt)
  23. change_dir(args.test_txt)
  24. print(f'| 已更改train.txt和val.txt中的图片根路径为:{args.change_dir} |')