Python中的子类化文件类引发了NameError

时间:2010-10-14 02:31:24

标签: python file subclass

我必须在python中做一个非常简单的项目,我将错误检查添加到内置文件类中。到目前为止,我已经:

class RobustFile(file):
    def __init__(self,name,mode):
        file.__init__(self,name,mode)

我刚刚开始,但为了确保我没有弄乱任何东西,我跑了。好吧,马上,我提出了一个NameError,因为它无法识别文件。我尝试调整它,我在互联网上查找,我使用相同的格式复制示例,并...所有NameError。任何人都可以了解如何完全归类文件?

2 个答案:

答案 0 :(得分:7)

您可能正在使用Python 3,它不再具有file类型。

相反,正如Python 3 documentation's I/O Overview中所述,它有许多不同的流类型,这些流类型都来自_io.TextIOBase_io.BufferedIOBase_io.RawIOBase之一,它们本身来自_io.IOBase

答案 1 :(得分:1)

在python 2.6.6中正常工作:

In [44]: class RobustFile(file):
    def __init__(self,name,mode):
        file.__init__(self,name,mode)
   ....: 

In [47]: fp = RobustFile('foo','w')

In [48]: fp.writelines('bar')

In [49]: fp.close()