我正在使用一个存储库,该存储库中有一个pickle文件,该文件显示数据集中视频的名称以及每个视频的帧数。我可以使用文本编辑器打开它,格式如下:
(dp0
S'v_Lunges_g07_c01.avi'
p1
I248
sS'v_Haircut_g18_c04.avi'
p2
I263
sS'v_Bowling_g21_c03.avi'
p3
I179
sS'v_FrontCrawl_g04_c04.avi'
p4
I328
sS'v_Biking_g15_c05.avi'
p5
I239
sS'v_Swing_g08_c03.avi'
I289
s.
因此,我想以相同的格式创建类似的格式,但是当我创建词典并将其保存到pickle文件1中时。这不是它存储在2中的格式。它无法用文本编辑器读取
我在这里想念什么?为什么有些咸菜文件可以在文本编辑器中读取和编辑,而有些却不能?我需要做些什么才能使泡菜文件获得这种格式(显然不仅是文本编辑,还可以通过python)?
答案 0 :(得分:1)
泡菜协议有不同的版本。只有版本0是人类可读的。但是无论如何,如果要在其上使用文本编辑器,则应考虑使用json格式,该格式应易于阅读,而pickle则不然。
如果您只需要生成人类可读的泡菜文件,并且知道它是一个记录很少的格式,则只需声明0协议即可:
pickle.dump(obj, protocol=0)