擅长:python、mysql、java
<p>这种格式是python提供给对象的默认字符串表示。您可以通过在一个类的实例上调用<a href="https://docs.python.org/2/library/functions.html#str" rel="nofollow">^{<cd1>}</a>来检查这一点。如果需要对象的可读字符串,可以在类上提供自定义的<code>__str__(self)</code>方法。这将更改输出到文件的对象字符串表示形式。在</p>
<p>至于你的实际问题是如何将默认表示转换回你的对象之一:这是不可能的。这是因为默认表示只告诉你对象的名称和它当前存储的内存位置。因为内存是暂时的(在运行它的不同时间对程序是不可用的),所以不能将内存地址转换回对象之一。在</p>
<p>如果你想这样做,有几种方法可以做到:</p>
<ol>
<li>您可以提供一个人类可读的<code>__str__</code>方法。这将输出您可以读取的数据,并希望它可以很容易地解析回一个对象。您必须从文件中读取对象的字符串表示,提取创建新对象所需的数据,然后创建对象。在</li>
<li>您可以研究序列化方法。这将以便于计算机读写的形式输出对象,但您可能无法读取它。有很多序列化库,但是python提供了<a href="https://docs.python.org/2/library/pickle.html" rel="nofollow">^{<cd4>}</a>库来实现这一点。在</li>
<li>您可以查看一些人类可读的数据格式,如<a href="http://json.org/" rel="nofollow">json</a>,<a href="http://yaml.org/" rel="nofollow">yaml</a>,<a href="https://en.wikipedia.org/wiki/Comparison_of_data_serialization_formats" rel="nofollow">etc</a>。使用其中的一个将为您提供一个可读的文件和一些处理这些文件的很棒的库。在</li>
</ol>