2010-10-14 40 views
0

我必须在python中做一个非常简单的项目,在这里我将错误检查添加到内置的文件类中。到目前为止,我有:在Python中引发文件类引发NameError

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

我刚刚开始,但要确保我没有把事情搞得一团糟,我跑了。那么,马上,我提出了一个NameError,因为它没有识别文件。我尝试调整它,我在互联网上查找它,我使用相同的格式复制示例,并...所有NameError。任何人都可以阐明如何精确地继承文件?

+2

这是一个奇怪的项目:Python中的内置文件类已经有错误检查。 – 2010-10-14 02:33:53

+0

您使用的是什么版本的Python?这个例子在Windows上使用Python 2.6.5运行良好。 – 2010-10-14 02:38:35

回答

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() 
7

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

相反,如在Python 3 documentation's I/O Overview所指出的,它具有许多都是从一个_io.TextIOBase_io.BufferedIOBase,或衍生_io.RawIOBase不同的流类型,这是他们自己从_io.IOBase衍生的。

+0

杰出!非常感谢!这很有帮助!我终于可以完成我的项目!是的!我已经在2.6中工作了! – Chris 2010-10-14 12:29:54