from contextlib import ExitStack, contextmanager
class Foo:
def __init__(self, i, o):
self.i = i
self.o = o
@contextmanager
def multiopen(i, o):
with ExitStack() as stack:
i = stack.enter_context(open(i))
o = stack.enter_context(open(o))
yield Foo(i, o)
ZnJvbSBjb250ZXh0bGliIGltcG9ydCBFeGl0U3RhY2ssIGNvbnRleHRtYW5hZ2VyCgoKY2xhc3MgRm9vOgogICAgZGVmIF9faW5pdF9fKHNlbGYsIGksIG8pOgogICAgICAgIHNlbGYuaSA9IGkKICAgICAgICBzZWxmLm8gPSBvCgoKQGNvbnRleHRtYW5hZ2VyCmRlZiBtdWx0aW9wZW4oaSwgbyk6CiAgICB3aXRoIEV4aXRTdGFjaygpIGFzIHN0YWNrOgogICAgICAgIGkgPSBzdGFjay5lbnRlcl9jb250ZXh0KG9wZW4oaSkpCiAgICAgICAgbyA9IHN0YWNrLmVudGVyX2NvbnRleHQob3BlbihvKSkKICAgICAgICB5aWVsZCBGb28oaSwgbyk=