什么是python关键字"with"用于?
示例来自:http://docs.python.org/tutorial/inputoutput.html
>>> with open('/tmp/workfile', 'r') as f:
... read_data = f.read()
>>> f.closed
True
Run Code Online (Sandbox Code Playgroud)
Rob*_*len 414
在python中,在with使用非托管资源(如文件流)时使用关键字.它类似于usingVB.NET和C#中的语句.它允许您确保在使用它的代码完成运行时"清理"资源,即使抛出异常也是如此.它为try/finally块提供"语法糖" .
来自Python文档:
该
with声明澄清了之前将使用try...finally块来确保执行清理代码的代码.在本节中,我将讨论通常会使用的语句.在下一节中,我将研究实现细节,并展示如何编写用于此语句的对象.该
with语句是一个控制流结构,其基本结构是:Run Code Online (Sandbox Code Playgroud)with expression [as variable]: with-block表达式被计算,它应该导致一个支持上下文管理协议的对象(即has
__enter__()和__exit__()方法).
根据Scott Wisniewski的评论更新固定的VB标注.我确实混乱with与using.
use*_*873 409
如果你有两个相关的操作,你想要成对执行,中间有一段代码,这很方便.经典示例是打开文件,操作文件,然后关闭它:
Run Code Online (Sandbox Code Playgroud)with open('output.txt', 'w') as f: f.write('Hi there!')上面的with语句将在嵌套的代码块之后自动关闭文件.(继续阅读以确切了解关闭是如何发生的.)使用with语句的优点是无论嵌套块如何退出,都可以保证关闭文件.如果在块结束之前发生异常,它将在异常被外部异常处理程序捕获之前关闭该文件.如果嵌套块包含return语句或continue或break语句,那么with语句也会在这些情况下自动关闭文件.
| 归档时间: |
|
| 查看次数: |
367847 次 |
| 最近记录: |