Welcome, guest | Sign In | My Account | Store | Cart
def with_iter(iterable):
    """Wrap an iterable in a with statement, so it closes when consumed.

    >>> uplines = (line.upper() for line in with_iter(open(path, 'r')))
    >>> print('\n'.join(uplines))
    """
    with iterable:
        for item in iterable:
            yield item

History