python - 'with open(...)' 和 'with closing(open(...))' 有什么区别

标签 python

据我了解,

with open(...) as x:

应该在 with 语句完成后关闭文件。然而,现在我明白了

with closing(open(...)) as x:

在一个地方,环顾四周发现,closing 应该在 with 语句结束时关闭文件。

那么,关闭文件和关闭文件有什么区别呢?

最佳答案

假设这是 contextlib.closing 和标准的内置 openclosing 在这里是多余的。它是一个包装器,允许您对具有 close 方法但不支持用作上下文管理器的对象使用 with 语句。由于 open 返回的文件对象是上下文管理器,因此不需要 closing

关于python - 'with open(...)' 和 'with closing(open(...))' 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39301983/

相关文章:

python - 我可以解压变量以检查它们在另一个列表中的成员身份吗?

python - Numpy.where 在字符串数组上使用正则表达式

python - 如何使正则表达式匹配整个字符串?

python - 溢出错误 : math range error

python - 为集合容器定义 __str__ 和 __repr__

python - Telegram Bot API - 上传带有文件名的文档

python匿名类变量名

Python:需要将选定的文件名添加到数组中

Python 三元运算符

python - 如何针对经典控制问题实现近端策略优化(PPO)算法?