【Python代码】随机抽取文件名列表NameList中的Name作为训练集

#!/usr/bin/env python
#coding=utf-8

#随机抽取一部分图片作为测试集


import random

NameList=[]#存储所有图片名字
'''
NameListPath='NameList_v.txt' #图片名存储地址
SlicePath='Main visibal/test.txt' #抽取的元素的存储地址
SlicePath2='Main visibal/trainval.txt' #剩余的元素存储地址
'''
NameListPath='Main visibal/trainval.txt'#图片名存储地址
SlicePath='Main visibal/val.txt' #抽取的元素的存储地址
SlicePath2='Main visibal/train.txt' #剩余的元素存储地址

#slice_num=164 #抽取数量
slice_num=66 #抽取数量

file_object = open(NameListPath)
try:
    for line in file_object:
        '''line_new=line[ :-2] #截掉Windows下的

        line_new+='
' #增加换行
        NameList.append(line_new)'''
        NameList.append(line)
finally:
    file_object.close( )

#随机抽取
slice = random.sample(NameList, slice_num) 
#print slice

#存储随机抽取的元素
output1 = open(SlicePath, 'w')
try:
    output1.writelines(slice)
finally:
    output1.close()

#抽取后剩余
slice2=NameList
for name in slice:
    slice2.remove(name)
#print slice2

#存储随机抽取后剩余的元素
output2 = open(SlicePath2, 'w')
try:
    output2.writelines(slice2)
finally:
    output2.close()
    
print 'Done!'
原文地址:https://www.cnblogs.com/xiangfeidemengzhu/p/7058236.html