【发布时间】:2019-05-05 16:51:36
【问题描述】:
我有一个解决方法,但我仍在考虑一种更好的方法来实现我的目标。我希望从基类 file 派生的类逐行访问文件,但顺便获取行号。类似于内置 枚举功能。
我觉得这个类应该是这样的:
class file2(file):
def __init__(self, filename):
file.__init__(self, filename)
self._num_line = 0
def __iter__(self):
self._num_line = 0
?
实现这一点
f2 = file2('myfile.txt')
for num_line, line in f2:
...
我目前的选择是在子类中创建一个生成器:
def lines(self):
for line in self:
self._num_line += 1
yield (self._num_line, line)
但用法很丑(嗯,不像我想要的那样 Pythonic):
f2 = file2('myfile.txt')
gen = f2.lines()
for i, lin in gen:
...
有没有简单的方法来实现这一点?提前致谢,
【问题讨论】:
-
Python 2.6??你确定吗?
标签: python file generator enumerate