将泡菜对象转换为自定义数据类型

时间:2019-01-28 21:58:47

标签: python class types casting pickle

我已经创建了一个类,我们称它为Person:

class Person(object):
    def __init__(self, name: str, lastname: str):
        self.name, self.lastname = name, lastname

    def Copy(self):
        return Person(self.name, self.lastname)

创建该类的实例后,我决定将其保存到pickle文件中。 现在,保存后,我想用pickle文件中的数据创建该类的新实例,如下所示:

with open("data.pkl", "rb") as data_file:
    David = pickle.load(data_file).Copy()

由于复制方法是显式创建的以创建新实例,而不是仅使新对象指向相同的内存位置,因此我希望这样做能够起作用。 但是,我收到一条错误消息:  'NoneType' object has no attribute 'Copy'

我考虑过要铸造它,只是像这样铸造:

David = Person(pickle.load(data_file)).Copy()

也不起作用,因为它想获取init函数的参数而不是强制转换...

如果有人可以提供帮助,那将是很好的,因为我已经搜索并且没有找到类似的问题,或者我无法用一句话很好地解释它来找到它……其中一个笑声

0 个答案:

没有答案