什么';使用'的好处是什么;具有as';Python中的语句?
使用open有什么好处。。而不是f=?什么';使用'的好处是什么;具有as';Python中的语句?,python,with-statement,Python,With Statement,使用open有什么好处。。而不是f=? 只是糖吗?仅保存一行代码?如果在f.write()期间发生异常,则前者仍然关闭f,如果f.write引发异常,则在使用with时调用f.close(),而在第二种情况下不调用。另外,f的作用域更小,使用with时代码更干净。为了与with语句版本等效,您编写的代码应如下所示: f = open("hello.txt", "wb") f.write("Hello Python!\n") f.close() 虽然这看起来像是语法上的甜点,但它可以确保您释放资
只是糖吗?仅保存一行代码?如果在
f.write()
期间发生异常,则前者仍然关闭f
,如果f.write
引发异常,则在使用with
时调用f.close()
,而在第二种情况下不调用。另外,f
的作用域更小,使用with时代码更干净。
为了与with
语句版本等效,您编写的代码应如下所示:
f = open("hello.txt", "wb")
f.write("Hello Python!\n")
f.close()
虽然这看起来像是语法上的甜点,但它可以确保您释放资源。一般来说,这个世界比这些人为的例子更复杂,如果你忘记了一个试试。。除了…
或无法处理极端情况外,您还有资源泄漏
with
语句可以避免这些泄漏,从而更容易编写干净的代码。要获得完整的解释,请参阅,其中有大量示例。有关RAII的更多有用阅读,请访问
f = open("hello.txt", "wb")
f.write("Hello Python!\n")
f.close()
f = open("hello.txt", "wb")
try:
f.write("Hello Python!\n")
finally:
f.close()