2
훈련 데이터 세트의 10 개 이미지를 테스트 데이터로 무작위로 선택하고 싶습니다. 선택한 데이터를 대상 경로에만 복사하면 작동합니다. 그러나 원본 데이터를 제거하려는 경우 일부만 제거 할 수 있습니다. os.remove()와 shutil.move() 함수를 모두 시도했지만 문제는 여전히 남아 있습니다. 아래는 내 스크립트입니다 :os.remove() 또는 shutil.move()가 파일의 일부만 이동할 수있는 이유
for label in labels:
training_data_path_ch1 = os.path.join(training_data_folder, label, 'ch1')
test_data_path_ch1 = os.path.join(test_data_folder, label, 'ch1')
training_data_path_ch5 = os.path.join(training_data_folder, label, 'ch5')
test_data_path_ch5 = os.path.join(test_data_folder, label, 'ch5')
ch1_imgs = listdir(training_data_path_ch1)
# Randomly select 10 images
ch1_mask = np.random.choice(len(ch1_imgs), 10)
ch1_selected_imgs = [ch1_imgs[i] for i in ch1_mask]
for selected_img in ch1_selected_imgs:
ch1_img_path = os.path.join(training_data_path_ch1, selected_img)
shutil.copy2(ch1_img_path, test_data_path_ch1)
os.remove(ch1_img_path)
print('Successfully move ' + label + ' ch1 images')
그리고 실행 상태를 보여주는 이미지를 추가합니다.
프로그램에서 실제로 이미지를 복사하고 일부 이미지를 제거 할 수 있지만 모든 이미지를 제거 할 수없는 이유는 무엇입니까?
아이디어가 있으십니까? 나는 어떤 도움을 주셔서 감사합니다!
감사합니다. 나는이 문제를 깨닫지 못했다. –