在Python中子类化文件类会引发NameError
我必须用python做一个非常简单的项目,在这个项目中,我将错误检查添加到内置的文件类中。到目前为止,我有:在Python中子类化文件类会引发NameError,python,file,subclass,Python,File,Subclass,我必须用python做一个非常简单的项目,在这个项目中,我将错误检查添加到内置的文件类中。到目前为止,我有: class RobustFile(file): def __init__(self,name,mode): file.__init__(self,name,mode) 我刚开始,但为了确保我没有把事情搞砸,我运行了它。好吧,我马上提出了一个命名错误,因为它无法识别文件。我试着调整它,我在网上查了一下,我用同样的格式复制了一些例子,然后…全都是NameError。
class RobustFile(file):
def __init__(self,name,mode):
file.__init__(self,name,mode)
我刚开始,但为了确保我没有把事情搞砸,我运行了它。好吧,我马上提出了一个命名错误,因为它无法识别文件。我试着调整它,我在网上查了一下,我用同样的格式复制了一些例子,然后…全都是NameError。有人能解释一下如何准确地将文件子类化吗?在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()
您可能正在使用Python3,它不再具有文件类型
相反,如中所述,它有许多不同的流类型,这些流类型都是从_io.TextIOBase、_io.bufferedobase或_io.RawIOBase中的一个派生的,它们本身都是从_io.IOBase派生的。这是一个奇怪的项目:Python中的内置文件类已经有错误检查。您使用的是什么版本的Python?此示例在Windows.1上使用Python 2.6.5运行良好!非常感谢你!那太有用了!我终于可以完成我的项目了!是的!我让它在2.6中工作!