2024-04-18 17:36:01 发布
网友
我有一系列文件:
part_files = [open(name, "w+") for name in part_names] ... [part.close() for part in part_files]
我想以有保证的方式关闭它们,即使两者之间有例外。在
我想知道这两种方法。据我所知,contextlib.nested在3.0中不推荐使用
contextlib.nested
这个怎么样:
part_files = [] try: for name in part_names: part_files.append(open(name, "w+")) ... do stuff ... finally: for part in part_files: part.close()
如果在打开文件时引发异常,它仍将关闭到目前为止已打开的所有文件
在Python3.3+中,可以使用^{}。 在Python2(或Python3的旧版本)中,可以使用contextlib2.ExitStack,它可以与一起安装
pip install contextlib2
这个怎么样:
如果在打开文件时引发异常,它仍将关闭到目前为止已打开的所有文件
在Python3.3+中,可以使用^{} 。
在Python2(或Python3的旧版本)中,可以使用contextlib2.ExitStack,它可以与一起安装
^{pr2}$
相关问题 更多 >
编程相关推荐