2

我想知道如何将类对象存储在文件中以便以后检索它。例如)我有一个堆栈类,我需要存储该类的对象以便稍后检索它。我尝试了以下方法:

output_file=open('hello.txt','w')
output_file.write(x)

其中 x 是堆栈类的对象。整个堆栈程序运行良好,当我来到这个存储部分时,我得到一个错误:

Traceback (most recent call last):
File "class.py", line 32, in <module>
    output_file.write(x)
TypeError: expected a character buffer object

我该如何纠正这个错误?最好的存储方式是什么?

4

2 回答 2

3

最简单的是使用pickle模块。

手册中有一些例子

于 2013-04-01T06:51:46.297 回答
1

按照建议使用pickle或将对象强制为 a str,这是所write期望的。

请注意,如果您决定强制转换为 astr并想要恢复该对象,则需要覆盖__str__您正在序列化的对象以输出足够的数据来重建该对象。

于 2013-04-01T06:54:40.713 回答