Mentransfer tumpukan panggilan balik ke instance ExitStack baru dan mengembalikannya. Tidak ada callback yang dipanggil oleh operasi ini - sebagai gantinya, callback tersebut sekarang akan dipanggil ketika tumpukan baru ditutup (baik secara eksplisit atau implisit di akhir pernyataan with).
pop_all()
with ExitStack() as stack:
files = [stack.enter_context(open(fname)) for fname in filenames]
Hold onto the close method, but don't call it yet.
close_files = stack.pop_all().close
If opening any file fails, all previously opened files will be
closed automatically. If all files are opened successfully,
they will remain open even after the with statement ends.
close_files() can then be invoked explicitly to close them all.