这是将python " with“语句与try-except块结合使用的正确方式吗?:
try:
with open("file", "r") as f:
line = f.readline()
except IOError:
<whatever>
如果是,那么考虑一下旧的做事方式:
try:
f = open("file", "r")
line = f.readline()
except IOError:
<whatever>
finally:
f.close()
这里"with“语句的主要好处是我们可以去掉三行代码吗?对于我来说,对于这个用例,似乎并不那么令人信服(尽管我知道"with“语句还有其他用法)。
编辑:上面两段代码的功能是否相同?
EDIT2:前几个答案大体上谈到了使用"with“的好处,但在这里这些好处似乎是微不足道的。多年来,我们都(或者应该)显式地调用f.close()。我认为一个好处是草率的程序员将受益于使用"with“。
https://stackoverflow.com/questions/3642080
复制相似问题