如何将目录的一定百分比复制到新目录中?
How do I copy a percentage of a directory into a new directory?
我正在编写一个如下所示的函数
def copy_file(source, training, testing, split_size):
其中:
-source 是我要从中复制的源目录
-training是复制到的目录
-testing 是要复制到的另一个目录
-split_size 是我要复制到测试和训练中的 source 的百分比,以小数点表示(例如,如果 split_size 是 0.5 i将复制 50% 的源代码用于训练,50% 用于测试)
我正在使用 shutil
库来使用复制,我将遍历我的源文件以复制每个文件,例如
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)
我正在编写一个如下所示的函数
def copy_file(source, training, testing, split_size):
其中:
-source 是我要从中复制的源目录
-training是复制到的目录
-testing 是要复制到的另一个目录
-split_size 是我要复制到测试和训练中的 source 的百分比,以小数点表示(例如,如果 split_size 是 0.5 i将复制 50% 的源代码用于训练,50% 用于测试)
我正在使用 shutil
库来使用复制,我将遍历我的源文件以复制每个文件,例如
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)