在try-except块中使用python“ with”语句
这是将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”中受益。