File size: 929 Bytes
226675b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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)