使对象成为“字符缓冲对象”

时间:2011-08-16 20:16:36

标签: python object

我有一个自定义类,它有一些字符串数据。我希望能够使用文件句柄的写入对象将此字符串数据保存到文件中。我已经实现了__str__(),所以我可以做str(myobject),使python认为我的对象是一个字符缓冲对象的等效方法是什么?

2 个答案:

答案 0 :(得分:0)

没有一个功能,只有一系列功能 - readseek等。

为什么不将StringIO.StringIO子类化,这已经是一个字符串缓冲区?

答案 1 :(得分:0)

如果您尝试将对象与库代码一起使用,那么期望能够将您提供的内容编写到文件中,那么您可能不得不求助于实现像{{{{{ 1}}但支持您的可字符串对象。不幸的是,file不是一种可以轻松子类化的类型,至少从Python 2.6开始。您必须实施足够的文件协议(filewritewritelines等)以允许库代码按预期工作。