在Python中创建流类

时间:2011-04-05 21:15:13

标签: python stream

我有一个类,它需要一个包含XML文件的流 我不一定需要文件流,我可能想使用其他来源,如数据库,套接字等 为了从其他来源提供流接口,我需要从io module继承哪个类?

2 个答案:

答案 0 :(得分:4)

动态类型允许您在这种情况下不从任何基类继承。您应该使用适当的名称实现一些方法。 Blog post on the subject

答案 1 :(得分:2)

安德烈给出的答案并不完全正确。

在Python中,流是"类似文件"对象。您可以使用io模块中定义的工具读/写它们。如果要定义流对象,该模块还提供了应该实现的接口。

请注意,io模块区分三种不同类型的流,这些流需要稍微不同的接口。 (它们主要在数据类型方面有所不同。)

  1. 文本I / O - 接口TextIOBase
  2. 二进制I / O - 接口BufferedIOBase
  3. 原始I / O - 接口RawIOBase
  4. StringIO例如是TextIOBase的内存实现。

    请注意,这些接口在Python 2和3上都可用。