class eager_gen_obj(object):
def __init__(self, path):
f = open(path)
self.text = [token for line in f for token in line.split()]
self.index = 0
def __iter__(self):
return self
def __next__(self):
try:
result = self.text[self.index]
except IndexError:
raise StopIteration
self.index += 1
return result
class LazyGenObj:
def __init__(self, path):
f = open(path)
self._generator = (token for line in f for token in line.split())
def __iter__(self):
return self
def __next__(self):
return next(self._generator)