You should expand a bit. How is that better than with open(..) as a, open(..) as b:
? > On 12 Jul 2019, at 15:27, haael <ha...@interia.pl> wrote: > > > Could we add __enter__ and __exit__ to the tuple type? > > Look at the following code: > > > a = open('a.tmp', 'w') > b = open('b.tmp', 'w') > > with (a, b) as (af, bf): > af.write("1") > bf.write("2") > > > > > Even better example: > > > with tuple(open(str(_n) + '.tmp', 'w') for _n in range(1000)) as f: > for n, fn in enumerate(f): > f.write(str(n)) > > > > > Tuple as context manager would invoke __enter__ for each of its elements and > return a tuple of the results. > > On exit, the __exit__ method would be invoked for every element. > > > We could even generalize it to every kind of iterable. > > This is somewhat consistent with treatment of exception types in 'except' > clause. > > > try: > something() > except Exception1 as error: > handlerA(error) > except (Exception2, Exception3) as error: > handlerB(error) > > > > Tuple of exception types is accepted in 'except' clause, as well as a single > exception type. We could apply that rule to the 'with' clause. > _______________________________________________ > Python-ideas mailing list -- python-ideas@python.org > To unsubscribe send an email to python-ideas-le...@python.org > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/python-ideas@python.org/message/QCYHV6FULSAIEUD2GQDG2LT6USP4N6DB/ > Code of Conduct: http://python.org/psf/codeofconduct/ _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/YC3RJ6L7ERKEPLWKSNP2EFTAYJ2KUAOV/ Code of Conduct: http://python.org/psf/codeofconduct/