I like the convenience of the multiple context with
statement in Python 2.7:
with open('a.txt') as a, open('b.txt') as b:
do_many_amazing_things(a, b)
However, I need to maintain compatibility with 2.6.
with
was brought to 2.5 via __future__
, but I am unable to find anything about the multiple context version being back-ported to 2.6 in the documentation.
Is there something I missed?
EDIT: I am aware that is possible to nest with
statements. I am asking if it's possible to use multiple with statements.
If no backward-compatible equivalent of this is possible, I would handle it by making the multiple-context with
statement a set of single-context, nested with
statements.
with open('a.txt') as a:
with open('b.txt') as b:
do_many_amazing_things(a, b)
EDIT to address your edit:
If you insist on not nesting extra with
statements, you can always use contextlib
import contextlib
with contextlib.nested(open("a.txt"), open("b.txt")) as (a, b):
do_many_amazing_things(a,b)
As for using multiple with
statements from the future-imported with
, this isn't possible as far as I know
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With