“Python pickle”的版本间的差异
跳到导航
跳到搜索
防止
(建立内容为“Python 的对象序列化库。 == 例子 == 使用 <code>open</code> 的 {{code|python|'rb'}} 参数来防止 <code>UnicodeDecodeError</code> <ref>https://stac…”的新页面) |
|||
(未显示同一用户的4个中间版本) | |||
第1行: | 第1行: | ||
− | Python 的对象序列化库。 | + | [[Python]] 的对象序列化库。 |
== 例子 == | == 例子 == | ||
− | 使用 <code>open</code> 的 {{code|python|'rb'}} | + | === 防止 <code>UnicodeDecodeError</code> === |
+ | |||
+ | 使用 <code>open</code> 的 {{code|python|'rb'}} 参数。<ref>https://stackoverflow.com/a/32957860/10974106</ref> | ||
<syntaxhighlight lang=python> | <syntaxhighlight lang=python> | ||
import pickle | import pickle | ||
obj = pickle.load(open('./obj.dump', 'rb')) | obj = pickle.load(open('./obj.dump', 'rb')) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Load 到一个类 === | ||
+ | |||
+ | <ref>[https://docs.python.org/3/library/pickle.html#pickling-class-instances Pickling Class Instances]</ref> | ||
+ | <syntaxhighlight lang=python> | ||
+ | class Obj: | ||
+ | @classmethod | ||
+ | def load(cls, attributes): | ||
+ | obj = cls.__new__(cls) | ||
+ | obj.__dict__.update(attributes) | ||
+ | return obj | ||
+ | |||
+ | s = Obj.load(pk.load(open('./obj.dump', 'rb'))) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Rust crate serde-pickle == | == Rust crate serde-pickle == | ||
− | Rust 有一个 crate 用于序列化对象为 pickle 格式。[https://github.com/birkenfeld/serde-pickle repo], [https://docs.rs/serde-pickle 文档] | + | [[Rust]] 有一个 crate 用于序列化对象为 pickle 格式。[https://github.com/birkenfeld/serde-pickle repo], [https://docs.rs/serde-pickle 文档] |
== 外部链接 == | == 外部链接 == | ||
第21行: | 第37行: | ||
<references /> | <references /> | ||
− | [[Category:Python]] | + | [[Category:Python|P]] |
2021年5月17日 (一) 20:52的最新版本
Python 的对象序列化库。
例子
防止 UnicodeDecodeError
使用 open
的 'rb'
参数。[1]
import pickle
obj = pickle.load(open('./obj.dump', 'rb'))
Load 到一个类
class Obj:
@classmethod
def load(cls, attributes):
obj = cls.__new__(cls)
obj.__dict__.update(attributes)
return obj
s = Obj.load(pk.load(open('./obj.dump', 'rb')))
Rust crate serde-pickle
Rust 有一个 crate 用于序列化对象为 pickle 格式。repo, 文档