Python高级语法-私有属性-with上下文管理器(4.7.3)

Posted simon-idea

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python高级语法-私有属性-with上下文管理器(4.7.3)相关的知识,希望对你有一定的参考价值。

@

1.说明

上下文管理器
这里使用with open操作文件,让文件对象实现了自动释放资源。我们也能自定义上下文管理器,通过__enter__()和__exit__()这两个魔术方法来自定义的操作文件
当有上下文使用的场景的时候,如打开一个东西要关闭,像等文件等资源,就可以使用这种方式去定义一个上下文管理器

2.代码

class File():
    def __init__(self,filename,mode):
        self.filename  = filename
        self.mode = mode

    def __enter__(self):
        print("__enter__")
        self.f = open(self.filename,self.mode,encoding="utf-8")
        return self.f

    def  __exit__(self, exc_type, exc_val, exc_tb):
        print("__exit__")
        self.f.close()


with File("魔方方法.py","r") as f:
    print(f.read())

关于作者

个人博客网站
个人GitHub地址
个人公众号:
技术图片

以上是关于Python高级语法-私有属性-with上下文管理器(4.7.3)的主要内容,如果未能解决你的问题,请参考以下文章

Python高级详解with语句和上下文管理器

Python高级详解with语句和上下文管理器

2020年最新Python开发的高级技巧,面试必学

python2.7高级编程 笔记一(Python中的with语句与上下文管理器学习总结)

Python高级语法-私有属性-魔法属性(4.7.2)

python上下文管理器