[Python-ideas] should there be a difference between generators and iterators?
dangyogi at gmail.com
Fri Sep 5 01:01:53 CEST 2008
I guess while we're at it, I'd like to add the following to the discussion:
6. Add the context manager methods (__enter__ and __exit__) to
generators and, by extension, to itertools. This makes it easier to
use 'with' to get the clean up ('finally' clauses) done.
On Thu, Sep 4, 2008 at 10:58 AM, Bruce Frederiksen <dangyogi at gmail.com> wrote:
> There are several points here that might or might not be adopted
> I propose the following. Each of these is independent of the others, but
> all related to cleaning up how this works:
> 1. All of the itertools and map (and I've no doubt left some others out
> here) be extended to propagate the extra generators methods: close, throw
> and send.
> 2. That the 'for' loop be extended so that if an exception occurs within
> its body, it calls 'throw' on its iterable (if it has a throw method).
> 3. That the 'for' loop be extended to call the 'close' method on its
> iterable (if it has a close method) when the loop terminates (either
> normally, with break, or with an exception).
> 4. That a 'not_closing' builtin function be added that takes an iterable
> and shields it from a 'close' call.
> 5. That 'close' and 'throw' be added to all iterables.
More information about the Python-ideas