names = ['x', 'y', 'tx', 'ty', 'allx', 'ally', 'graph']
objects = []
for i in range(len(names)): # 使用一个循环把数据全部读出来
with open("data/ind.{}.{}".format(dataset_str, names[i]), 'rb') as f:
if sys.version_info > (3, 0):
objects.append(pkl.load(f, encoding='latin1')) #使用这个方法,我们可以看出存储的文件是以pickle存储的
else:
objects.append(pkl.load(f))
x, y, tx, ty, allx, ally, graph = tuple(objects)
我们的目标:
从多个数据集中获取数据,并且保存下来
按照一般的思路,我们是一个个数据集进行保存,但是这样很容易可以看出,代码的冗余度很高,而且要修改也很麻烦。上面这段代码给我们了一个思路:
利用循环把各个数据集的数据保存在一个列表里,再使用tuple集成,再分别复制给保存各个数据集的空间