Ich bin ein Neuling und hier, um die Experten um Rat zu fragen. . . Um eine Instanz einer Klasse in Pickle zu speichern, verwenden Sie pickle.dump(), um die instanziierte Klasse nach der Instanziierung der Klasse in einer PKL-Datei zu speichern?
Zum Beispiel:
class zxc():
x=1
b=zxc()
mit open("zxc.pkl", "wb") als f:
pickle.dump(b, f)
Wenn dies der Fall ist und Sie diese instanziierte Klasse an andere weitergeben möchten, müssen Sie die gesamte Klasse an andere weitergeben, oder? Oder kann ich die Datei einfach hergeben?
pickle.load
详细阅读这个 API 的英文文档以及 pickle 整个模块的文档
则问题可解
当执行pickle.load时,Python会试图导入包含class zxc的模块文件,如果不能导入,则会抛出异常。如果重命名该类和该模块或者将该模块移到另一个目录,则也会发生类似的错误。
所以,不只需要将相关的模块文件给他人,而且需要保证相对目录的一致性。