2010-10-14 49 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