der*_*n14 12 python naming-conventions pickle
在阅读和编写pickle文件时,我注意到一些片段使用.p其他片段,而一些片段.pkl则完整.pickle.这样做有一种最蟒蛇的方式吗?
我目前的观点是,没有一个正确的答案,任何这些都足够了.事实上,在运行时编写文件名awesome.pkl或awesome.sauce不会有所作为pickle.load(open(filename, "rb")).也就是说,文件扩展名只是一种实际上不会影响底层数据的约定.是对的吗?
额外奖励:如果我保存PNG图像myimage.jpg怎么办?会造成什么破坏?
该扩展使得没有任何区别,因为" 泡椒协议 "运行每次.
也就是说,无论何时运行pickle.dumps或pickle.loads,对象都会根据pickle协议进行序列化/非序列化.
(pickle协议是序列化格式)
pickle协议是特定于python的(并且有几个版本).它只是为用户自己重新使用数据而设计的 - >如果您将pickle文件发送给碰巧有不同版本的pickle/Python的其他人,那么该文件可能无法正确加载而您可能无法执行任何操作对于像Java这样的另一种语言的pickle文件很有用.
所以,使用你喜欢的扩展名,因为pickler会忽略它们.
JSON是另一种更流行的数据序列化方式,它也可以被其他语言使用,而不像pickle - 但是它不能直接处理python,因此它不能理解某些变量类型:/
来源,如果你想阅读更多
| 归档时间: |
|
| 查看次数: |
3858 次 |
| 最近记录: |