Generator not generating
Jeff Lowery
J.Lowery at F5.com
Fri Jul 23 12:20:15 EDT 2004
More information about the Python-list mailing list
Fri Jul 23 12:20:15 EDT 2004
- Previous message (by thread): Generator not generating
- Next message (by thread): befuddled by os.exec functions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Wow, that make sense but somehow I've managed to (ab)use generators several times like this before and (by luck) avoided the problem. For example, the previous one I wrote did file.readline(), so the generator worked because the file pointer was incremented. No such thing as a directory pointer, I guess =^P Thanks. Now if I can only break my bad habits... -----Original Message----- From: python-list-bounces+j.lowery=f5.com at python.org [mailto:python-list-bounces+j.lowery=f5.com at python.org] On Behalf Of Christopher T King Sent: Thursday, July 22, 2004 5:52 PM To: python-list at python.org Subject: Re: Generator not generating On Thu, 22 Jul 2004, Jeff Lowery wrote: > def plot_dist(self): > file = None; > > file = nextFile().next() # call to generator here > > **** > > I trace through this in the debugger and the call to nextFile().next() > always starts at the beginning of the function (it always returns the > first file in C:/somedir). That's because your code restarts the generator each time ;) When a generator function is called, it returns a new generator object that starts from the beginning of the function that can then be iterated over. To get the effect you want, you should call the generator only once, and then store its value away for future use: def __init__(self, master): self.files = nextFile() def plot_dist(self): file = self.files.next() # call to generator here Hope this helps. -- http://mail.python.org/mailman/listinfo/python-list
- Previous message (by thread): Generator not generating
- Next message (by thread): befuddled by os.exec functions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list