Python “with” keyword
生活随笔
收集整理的这篇文章主要介绍了
Python “with” keyword
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
with 关键字的意思就是一种try finally的快捷写法
看下面的代码和注释就容易理解
with WithWrapper() as ww:print ww # 应该打印 1. 它是WithWrapper().__enter__函数的返回值
print "with body"
raise NameError("Error Raised") # 这里如果有异常, WithWrapper().__exit__函数的后三个参数就根据这个异常被赋值。否则三个参数的值都是None class WithWrapper:
def __enter__(self):
print "with语句执行后,__enter__先执行"
return 1 # 返回的值被赋给with语句中as后的变量,你想返回什么就返回什么
def __exit__(self, exc_type, exc_value, traceback):
print "with语句执行后,__exit__一定会被执行,即使在with body里面抛出了异常"
return True # 返回True表示with body抛出的异常本地处理了,异常不会被propagated。否则异常会被with语句后面的代码捕捉到。
可参考
http://pyref.infogami.com/__exit__
转载于:https://www.cnblogs.com/dbbs/archive/2012/03/01/2374923.html
总结
以上是生活随笔为你收集整理的Python “with” keyword的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: woff, 在网页中嵌入任意字体的解决方
- 下一篇: Python 字符串操作