问题描述
def copy_file(source,training,testing,split_size):
其中:
-source是我要从中复制的源目录
-培训是要复制到的目录
-testing是要复制到的另一个目录
-split_size是我要复制到测试和培训中的源的百分比,用小数点表示(例如,如果split_size为0.5,我会将源的50%复制到培训中,将50%的源复制到培训中。测试)
我正在使用shutil
库来使用copy,我将遍历源文件以复制每个文件,类似
if len(image) > 0:
copy(image,training)
但是我不确定如何指定此函数的split_size部分。我确信这并不复杂,我只是很少有复制文件的经验,这是我第一次使用shutil。
解决方法
您可以使用os
包来获取源目录中文件的列表。获得文件列表后,您可以根据传递的百分比值将列表分为两个列表。之后,遍历两个列表以将文件复制到相应目录中。
import os
import shutil
def copy_file(src,train,test,percent):
files_list = os.listdir(src)
splitVal = int(round(percent*len(file_list)))
train_file_list = files_list[:splitVal]
test_file_list = files_list[splitVal:]
# now iterate through the two list and copy the files to respective
# directory using shutil.copy(file_name,dest_dir)