【发布时间】:2015-02-26 16:00:19
【问题描述】:
最近学习了python中的'with'语句及其用法,主要来自Understanding Python's "with" statement和official documentation for with statement这一篇文章。
最常用的例子我可以理解
with open("x.txt") as f:
data = f.read()
do something with data
好的,所以我们打开文件x.txt,我们用它执行一些任务,它会自动关闭。 f 变量用于读取文件并执行其他任务。
但在官方文档中,表达式后面的目标变量是可选的:
with_stmt ::= "with" with_item ("," with_item)* ":" suite
with_item ::= expression ["as" target]
我没有找到任何在没有目标变量的情况下使用 with 语句的示例。是否存在不需要此变量的情况?
【问题讨论】:
-
multiprocessing.Lock 是一个例子eli.thegreenplace.net/2012/01/04/…
-
轶事:我曾经写过一个
with silenced_output():语句,它将所有stdout消息重定向到dev/null。with silenced_output() as x:没有多大意义,因为我不需要对 x 做任何事情。 -
好吧,我没有注意到这个问题已经回答了here。对此感到抱歉
标签: python with-statement