python - Python 中的字符串到对象

标签 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)

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

最佳答案

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

其他选项包括 marshal(低级)和 json(网络数据标准)。

关于python - Python 中的字符串到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6433528/

相关文章:

python - 如何计算所有 "unique"间隔并对 Pandas DataFrame 中的列求和?

python - 新的 pypi org 代理不适用于 sonatype nexus

Python textwrap 和忽略部分字符串

c - 打印字符串会产生垃圾,即使(我认为)它们是空终止的

java - 将对象放入 JDBC 中?

c++ - 指针地址给出 1 而不是十六进制地址

Python threading.Thread、范围和垃圾收集

Java Thread ,答案是A怎么来的?

object - 在golang中如何确保在创建对象后使用方法?

python - python2.5中的Exception_Record问题