python with as的用法

with as:with后面的所求值对象必须有 一个__enter__()方法 和 一个 __exit__()方法,该对象被求职后,返回对象的__enter__()方法被调用,这个方法的返回值将赋值给as后面的变量。

当with后面的代码块全部执行完之后,将调用前面返回对象的__exit__方法。

以下两代码块的效果相同:

with open("test.txt") as file:
    fileData = file.read()

###################

file = open("/test.txt")
try:
    data = file.read()
finally:
    file.close()

with 语句提供一个有效的机制,让代码更简练,同时在异常产生时,清理工作更简单。

posted @ 2019-03-07 17:04  BelleLs  阅读(901)  评论(0编辑  收藏  举报