更改

添加396字节 、 2021年5月5日 (三) 05:54
第3行: 第3行:  
== 例子 ==
 
== 例子 ==
   −
使用 <code>open</code> 的 {{code|python|'rb'}} 参数来防止 <code>UnicodeDecodeError</code> <ref>https://stackoverflow.com/a/32957860/10974106</ref>
+
=== 防止 <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>