对于.pkl文件,我是在接触 SMPL模型的时候用到的。SMPL的开源项目包里,有model文件夹,打开有两个.pkl文件。然后,找到了一个说的相对比较详细的网址。https://jingyan.baidu.com/article/59a015e36ef251f794886598.html
一、我对pkl文件的理解为:
1)python中有一种存储方式,可以存储为.pkl文件。
2)该存储方式,可以将python项目过程中用到的一些暂时变量、或者需要提取、暂存的字符串、列表、字典等数据保存起来。
3)保存方式就是保存到创建的.pkl文件里面。
4)然后需要使用的时候再 open,load。
二、代码的话。
# 1)串行化要存储的对象 import pprint import cPickle as pickle info = [.....一堆东西....] # info是一个list data1 = pickle.dumps(info) data2 = pickle.loads(data1) # 2)使用pickle模块存储对象 import pickle data1 = {.........一堆东西........} # data1是一个字典 selfref_list = [1, 2, 3] output = open('data.pkl', 'wb') # Pickle dictionary using protocol 0. pickle.dump(data1, output) # Pickle the list using the highest protocol available. pickle.dump(selfref_list, output, -1) output.close() # 3)读取,并使用 import pprint, pickle pkl_file = open('data.pkl', 'rb') data1 = pickle.load(pke_file) pprint.pprint(data1) data2 = pickle.load(pkl_file) pprint.pprint(data2) pkl_file.close()