Ответ 1
Если не существует эквивалента обратной совместимости, я бы справился с этим, сделав оператор multiple-context with
набором одноконтекстных, вложенных операторов with
.
with open('a.txt') as a:
with open('b.txt') as b:
do_many_amazing_things(a, b)
РЕДАКТИРОВАТЬ адрес вашего редактирования:
Если вы настаиваете на том, чтобы не вставлять дополнительные инструкции with
, вы всегда можете использовать contextlib
import contextlib
with contextlib.nested(open("a.txt"), open("b.txt")) as (a, b):
do_many_amazing_things(a,b)
Что касается использования нескольких операторов with
из импортируемого в будущем with
, это невозможно, насколько я знаю