2

是否可以对 python 的内置 open 进行子类化?我间歇性地收到以下错误:

class Open(open):
    pass

x = mymodule.Open()

TypeError:调用元类库时出错,无法创建“builtin_function_or_method”实例

4

2 回答 2

6

open不是一个类,它是一个函数。但是,file对象是可以子类化的类型。

type(open)
# OUT: <type 'builtin_function_or_method'>
type(file)
# OUT: <type 'type'>
于 2012-12-30T23:52:27.190 回答
2

open是一个函数,而不是一个类。您只能对类进行子类化。

于 2012-12-30T23:50:58.113 回答