您好,欢迎来到知库网。
搜索
您的当前位置:首页6. with语句

6. with语句

来源:知库网

场景:简化try-except-finally,从流程图中把try, except和finally处理资源分配、释放的相关代码去掉,比如处理文件(数据、日志、数据库等)、线程资源、简单同步、数据库连接等。只适合工作于支持『上下文管理协议』的对象,所以只有内建了『上下文管理』的对象可以和with一起工作。

支持上下文管理协议的对象有:file, decimal.Context, thread.LockType, threading.Lock,threading.RLock, threading.Condition等,最常用的应该是file。

举个栗子:

with open('/home/work/myfile.txt', 'r') as f:   

    for line in f:

        print line

打开文件,如果一切正常,把文件对象赋值给f,然后迭代输出文件中的每一行,当完成时,关闭文件。如果开始/中间/结束发生任何异常,会执行清理代码,文件会自动关闭。

Copyright © 2019- zicool.com 版权所有 湘ICP备2023022495号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务