2024-09-01
Python
00

https://docs.python.org/3/library/pickle.html

pickle协议和JSON(JavaScript对象表示法)之间存在根本差异 :

JSON是一种文本序列化格式(虽然大多数时间然后将其编码为,但它输出unicode文本utf-8),而pickle是一种二进制序列化格式;

JSON是人类可读的,而pickle则不是;

JSON是可互操作的,并且在Python生态系统之外被广泛使用,而pickle是特定于Python的;

默认情况下,JSON只能表示Python内置类型的子集,而不能表示自定义类。pickle可以表示大量的Python类型(通过巧妙地使用Python的自省功能,其中的许多会自动实现;可以通过实现特定的对象API解决复杂的情况);

与pickle不同,反序列化不受信任的JSON本身并不创建任意代码执行漏洞。

总结:

1 json好看,但内部类型少。可跨平台。

2 pickle不好看,但是叼,啥都能存,还能复原。

3 建议:不整活就pickle就行了,好用,兼容好。

4 怎么用:

存成一个文件:

python
import pickle with open('temp_debug_t_all.txt','wb') as f: pickle.dump(t_all, f)

读取出来

python
import pickle with open('temp_debug_t_all.txt', 'rb') as f: t_all = pickle.load(f)
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!