【发布时间】:2013-09-24 21:50:47
【问题描述】:
如何将类的实例序列化为 XML 文件并反序列化?
例如。
我有“猫”课:
class Cat:
__name=''
__age=0
__tail_length=0
__weight=0
def __init__(self, name, age, tail_length, weight):
self.__name=name
self.__age=age
self.__tail_length=tail_length
self.__weight=weight
有可能吗?
timon=Cat(name='Timon', age=3, tail_length=20, weight=18)
magic_xml_serializer.serialize(destfile='cat-timon.xml', obj=timon)
del(timon)
timon=magic_xml_serializer.deserialize(sourcefile='cat-timon.xml')
print ('yes','no')[type(timon)=='Cat'] #yes
如果可以的话,请写信告诉我怎么做。或者只是给我链接代码示例。谢谢!
附注Python 2.7 版
【问题讨论】:
-
您尝试过什么来解决自己的问题?还有所有
__vars怎么了? -
我是 Python 新手,我想问一下这个问题的好解决方案。我曾尝试使用 xml.pickle。
-
对不起,不管你是不是新手,你需要证明你自己的努力。
-
问题是你无缘无故地让你的代码难以阅读。另外,您将所有内容初始化两次。我敢打赌你是一个java程序员。
-
您在创建类和创建每个对象时进行初始化。这是不必要的,而且是重复的。此外,没有理由使用私有属性。事实上,他们更有可能制造问题。
标签: python xml serialization