有什么方法可以格式化 with 语句,以便我可以建立可变数量的上下文吗?就像,有时我想要四个带有语句的语句,但有时我可能只想要两个。事实上,我面临着调用所有我可以使用但没有使用的对象的虚拟版本的前景,然后将我的代码嵌套在十六个语句中,其中虚拟对象填充了我不使用的语句。因为我使用的是 Python 2.6.6,甚至不支持压缩语法。
顺便说一句,with 语句真的是获得有效的清理代码的唯一方法吗?确实没有其他方法可以获取类似于析构函数方法的任何内容,但使用标准 __del__
并不是一个错误。方法?
最佳答案
contextlib.nested
就是为此而生的。
文档中的示例:
from contextlib import nested
with nested(*managers):
do_something()
关于python - With 语句的数量可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12270889/