ARCHIVE_PATH = 'path/to/archive.tar'
INNER_PATHS = ['nested/within/archive/one.tar', 'nested/within/archive/two.tar'
    ]

def list_inner_contents(archive_path, inner_paths):

    def rec(tf, rest_paths):
        if not rest_paths:
            return tf.getnames()
with TarFile(fileobj=tf.extractfile(rest_paths[0])) as tf2:
    return rec(tf2, rest_paths[1:])
with TarFile(archive_path) as tf:
    pass
Как я могу вложить произвольное количество файловых контекстных менеджеров Python?