pickle好用到我想把csdn当朋友圈发了!
我是在做数据库作业,作业是需要自己手写一个小型的功能简单的数据库,然后涉及到需要设计索引来加快数据的查询速度,我设计了一个B+树的索引,并验证了它可以根据我输入的数据建起树来并进行查找。
但这是问题来了,我怎么把每个数据库的索引——B+树(一个数据结构)作为一个索引文件来保存下来以备这个数据库的随时调用?
通过搜索我就找到了pickle这个工具
通过一下这种方式,我的tree就可以很简单地存起来或者拿出来用啦(之前本来还想是不是要自己写存储方式和从文件中解析出B+树的方式)
#这是存储方式
filename_x="x_b_plus_tree_index.pkl"
output_x = open(filename_x, 'wb')
pickle.dump(tree_x, output_x)
output_x.close()
#这是取出来用的方法
filename = "x_b_plus_tree_index.pkl"
pkl_file = open(filename, 'rb')
b_plus_tree = pickle.load(pkl_file)
pkl_file.close()
tf = b_plus_tree.find(val)#我写的B树class中的查询函数