在 Python 中使用“with open”语句打开多个文件
同时修改多个文件会引发如何高效执行此操作的问题同时保持文件完整性。利用“with open”语句和上下文管理提供了一个实用的解决方案。
对多个文件使用“with open”
在 Python 2.7 及更高版本中,语法已修改为允许在单个“with open”语句中打开多个文件:
with open('a', 'w') as a, open('b', 'w') as b: do_something()
这消除了嵌套“with”语句或使用“contextlib.nested()”的需要。
替代方法
在要打开的文件数量可变的极少数情况下,“contextlib.ExitStack”提供了 Python 3.3 及更高版本中可用的灵活解决方案:
with ExitStack() as stack: files = [stack.enter_context(open(fname)) for fname in filenames] # Do something with "files"
但是,顺序文件处理通常更合适,尤其是在处理数量可变的文件时:
for fname in filenames: with open(fname) as f: # Process f
以上是如何在Python中使用'with open”语句高效地修改多个文件?的详细内容。更多信息请关注PHP中文网其他相关文章!