在 python 2 中,文件是一个合适的类,所以我写了
class MyFile(file):
def floats_from_csv(self):
strs = self.read(1000000).split(',')
for i in strs:
yield float(i)
with MyFile("x.csv", "rt") as x:
for i in x.floats_from_csv():
...
在 python3 中,许多文件替换没有公共构造函数,所以我不能子类化并获取__init__
函数。我有一个使用委托的技巧,但它很难看。创建内置 IO 类的子类的批准方法是什么?