split_train_val_test.py 753 B

12345678910111213141516171819202122232425
  1. import glob
  2. import os
  3. import shutil
  4. import random
  5. def split(src_lists="",dst_path="D:/data/data_train_val_test"):
  6. os.makedirs(dst_path,exist_ok=True)
  7. f_train=open(dst_path+"/train.txt","w",encoding="utf-8")
  8. f_val=open(dst_path+"/val.txt","w",encoding="utf-8")
  9. f_test=open(dst_path+"/test.txt","w",encoding="utf-8")
  10. random.seed(111)
  11. random.shuffle(src_lists)
  12. l=len(src_lists)
  13. val_i=int(l*0.7)
  14. test_i=int(l*1.0)
  15. #print(val_i,test_i,l)
  16. for file in src_lists[:val_i]:
  17. f_train.writelines(file+"\n")
  18. for file in src_lists[val_i:test_i]:
  19. f_val.writelines(file+"\n")
  20. for file in src_lists[test_i:]:
  21. f_test.writelines(file+"\n")
  22. f_train.close()
  23. f_val.close()
  24. f_test.close()