我有一个类,它需要一个包含XML文件的流 我不一定需要文件流,我可能想使用其他来源,如数据库,套接字等 为了从其他来源提供流接口,我需要从io module继承哪个类?
答案 0 :(得分:4)
动态类型允许您在这种情况下不从任何基类继承。您应该使用适当的名称实现一些方法。 Blog post on the subject
答案 1 :(得分:2)
安德烈给出的答案并不完全正确。
在Python中,流是"类似文件"对象。您可以使用io模块中定义的工具读/写它们。如果要定义流对象,该模块还提供了应该实现的接口。
请注意,io
模块区分三种不同类型的流,这些流需要稍微不同的接口。 (它们主要在数据类型方面有所不同。)
StringIO例如是TextIOBase的内存实现。
请注意,这些接口在Python 2和3上都可用。