python with 语句

如果不用 with 语句,代码如下:

file = open("/tmp/foo.txt")

data = file.read()file.close()

这里有两个问题:

一是可能忘记关闭文件句柄;
二是文件读取数据发生异常,没有进行任何处理。

下面是处理异常的加强版本:

try:

    f = open('xxx')except:

    print 'fail to open'

    exit(-1)try:    do somethingexcept:    do somethingfinally:

     f.close()

虽然这段代码运行良好,但是太冗长了。

这时候就是和一展身手的时候了。除了有更优雅的语法,还有可以很好的处理上下文环境产生的异常。

下面是与版本的代码:

with open("/tmp/foo.txt") as file:

    data = file.read()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容