为什么我们在挑选一个类之前删除文件句柄?

时间:2015-11-25 05:49:53

标签: python

我正在查看YouTube视频from here

这家伙正在使用__getstate____setstate__方法从对象的(self.file)中删除文件处理程序__dict__,以便在修补它之前更改默认行为类。

但是为什么这是必要的?为什么我在挑选任何类之前删除文件处理程序?

如果我错过了一些重点,请提前抱歉。

1 个答案:

答案 0 :(得分:1)

file个对象不是可挑剔的。查看docs以查看哪些对象可以腌制。

你也可以尝试一下:

import pickle
with open(<file-path>) as f:
    pickle.dumps(f) 

抛出TypeError: can't pickle file objects