慕工程0101907
使用List、tuple或dict是迄今为止最常见的方法:import pickle
PIK = "pickle.dat"data = ["A", "b", "C", "d"]with open(PIK, "wb") as f:
pickle.dump(data, f)with open(PIK, "rb") as f:
print pickle.load(f)指纹:['A', 'b', 'C', 'd']但是,一个泡菜文件能,会,可以含有任意数量的泡菜。下面是产生相同输出的代码。但请注意,它很难写和理解:with open(PIK, "wb") as f:
pickle.dump(len(data), f)
for value in data:
pickle.dump(value, f)data2 = []with open(PIK, "rb") as f:
for _ in range(pickle.load(f)):
data2.append(pickle.load(f))print data2如果您这样做,您将负责知道您所写的文件中有多少个泡菜。上面的代码是通过先选择列表对象的数量来做到这一点的。
慕妹3242003
试试这个:import picklefile = open('test.pkl','wb')obj_1 = ['test_1', {'ability', 'mobility'}]obj_2 = ['test_2', {'ability', 'mobility'}]obj_3 = ['test_3', {'ability', 'mobility'}]pickle.dump(obj_1, file)pickle.dump(obj_2, file)pickle.dump(obj_3, file)file.close()file = open('test.pkl', 'rb')obj_1 = pickle.load(file)obj_2 = pickle.load(file)obj_3 = pickle.load(file)print(obj_1)print(obj_2)print(obj_3)file.close()