| import os | |
| import random | |
| import shutil | |
| random.seed(12345) | |
| def mkd(path): | |
| if not os.path.exists(path): | |
| os.mkdir(path) | |
| base_dir = r'data\WHU_CD\split_file' | |
| for p1 in ['train','test','val']: | |
| mkd(os.path.join(base_dir, p1)) | |
| for p2 in ['A','B','label']: | |
| mkd(os.path.join(base_dir, p1, p2)) | |
| file_list = os.listdir(os.path.join(base_dir,'source','A')) | |
| file_list = [name.split('before_')[1:] for name in file_list] | |
| random.shuffle(file_list) | |
| print(file_list) | |
| for n1,n2,t in [(0,6096,'train'),(6096,6096+762,'test'),(6096+762,6096+762+762,'val')]: | |
| for i in range(n1,n2): | |
| for t1, t2 in [('A', 'before_'), ('B', 'after_'), ('label', 'change_label_')]: | |
| source_path = os.path.join(base_dir, 'source', t1, t2 + file_list[i][0]) | |
| target_path = os.path.join(base_dir, t, t1, t + '_' + file_list[i][0]) | |
| shutil.move(source_path, target_path) |