Please don't start a new thread when responding to an existing topic.
Just reply-List to the message you're responding to, and include some
context from that message.
On 11/28/2014 12:06 PM, ast wrote:
Hi
Here is a solution with a custom iterator which operate on files.
I tested it with a small file. Just a remark, there are no empty line
on a file, there is at least '\n' at the end of each lines but maybe the
last one. If readline() got an emptyline, then the end of file has been
reached.
class MyFileItr:
def __init__(self, f):
self.f = f
self.line = ""
def __next__(self):
while True:
self.line = self.f.readline()
if (self.line == ''):
raise StopIteration
if not(self.line.startswith('#') or self.line.isspace() or
self.line == '\n'):
return self.line
def __iter__(self):
return self
f = open('test.txt', 'r')
for L in MyFileItr(f):
print(L, end="")
Why would you prefer that over a generator function, as given earlier in
the thread? See for example Ned's message. By using 'yield', you get
Python to generate all the class boilerplate for you.
--
DaveA
--
https://mail.python.org/mailman/listinfo/python-list