python手动实现简易用来打开文件操作的上下文管理器

阅读: 评论:0

python手动实现简易用来打开文件操作的上下文管理器

python手动实现简易用来打开文件操作的上下文管理器

本博文源于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 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23