本博文源于ptthon基础,主要探讨如何手动实现一个建议打开文件操作的上下文管理器
它本质上就是来更好的安全释放资源有了它,我们更安全操作对象
__enter__(self)
__exit__(self,type,value,tb)
前者是进入上下文调用,创建并返回一个可以引用的资源对象给with调用
后者是退出,主要用来释放资源,可以理解为清理灾难现场。
python的灾难现场无非是:需要关闭的文件,需要实现的各种异常处理
使用上下文的with格式:
with context as var:pass
其中var就是从__enter__获得
进入时我们要打开文件,返回打开文件的对象,然后退出时,我们尝试关闭文件
在项目里创建一个,内容为:
你好,python!
class FileMgr(object):def __init__(self, filename):self.filename = filenameself.f = None # 表示打开状态def __enter__(self):self.f = open(self.filename, encoding='utf-8')return self.fdef __exit__(self, exc_type, exc_val, exc_tb):if self.f:self.f.close()if __name__ == '__main__':with FileMgr(') as f:for line adline():print(line, end='')
本文发布于:2024-01-28 10:05:15,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064075196650.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |