Python中的String到Object

Son*_*305 3 python string object

我需要能够将对象的任何字符串表示形式转换回另一台计算机上的原始状态.我将使用类A,作为我的例子:

    class A:
        def __init__(self):
            self.data = "test"
            self.name = "Bob"

        def __str__(self):
            return str(self.data) + " " + str(self.name)
Run Code Online (Sandbox Code Playgroud)

必须能够在单独的计算机上重新创建A类对象.因此,如果收到一台单独的计算机("A","memberData memberName"),它可以将其转换为类A的对象.我需要使用任何用户定义的对象.我希望用户只需要创建一个toString()和toObject()方法.

Kat*_*iel 13

您正在研究序列化对象的方法; 这是一个非常标准的问题.pickle是标准的解决方案,你应该先看一下.如果要创建类pickleable,则需要在其上定义一些自定义方法,并确保在源计算机和目标计算机上都可以找到定义它的模块.然后你可以pickle.dumps(obj)返回一个字符串,并pickle.loads(my_str)重建该对象.

其他选项包括marshal(低级别)和json(Web数据标准).