Python上下文管理器用法及实例解析


Posted in Python onNovember 11, 2019

这篇文章主要介绍了Python上下文管理器用法及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

with上下文管理器

语法:with ... as ... 如:with open('test.txt', 'r') as fp,打开一个文件作为文件句柄对象赋值给fp

with是一个语句块,上下文管理器中里面实现了两个方法:enter, exit,enter是进入代码块前自动调用的方法,exit是

退出with语句块时调用的,例如,文件对象在退出上下文管理器时调用了exit中的self.close()语句,所以就不用手动去关闭文件

只要重写了enter方法和exit两个方法,就可以自定义一个with上下文管理器

class SayHello(object):
 def __init__(self, text):
  self.text = text
 def __enter__(self):
  return self #必须返回对象
 def __exit__(self, exc_type, exc_value, traceback):
  self.text = "Bye!"

with SayHello("Hello") as greet:
 print(greet.text)
print(greet.text)

输出:

Hello
Bye!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现查找excel里某一列重复数据并且剔除后打印的方法
May 26 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
Jun 15 Python
将python代码和注释分离的方法
Apr 21 Python
python 将json数据提取转化为txt的方法
Oct 26 Python
pandas对dataFrame中某一个列的数据进行处理的方法
Jul 08 Python
关于Python Tkinter Button控件command传参问题的解决方式
Mar 04 Python
python pyqtgraph 保存图片到本地的实例
Mar 14 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
TensorFlow的reshape操作 tf.reshape的实现
Apr 19 Python
python和php哪个容易学
Jun 19 Python
pycharm2020.1.2永久破解激活教程,实测有效
Oct 29 Python
Python编程中Python与GIL互斥锁关系作用分析
Sep 15 Python
Django 请求Request的具体使用方法
Nov 11 #Python
浅谈Python类中的self到底是干啥的
Nov 11 #Python
python 调试冷知识(小结)
Nov 11 #Python
通过 Django Pagination 实现简单分页功能
Nov 11 #Python
python机器学习实现决策树
Nov 11 #Python
Python SQLAlchemy入门教程(基本用法)
Nov 11 #Python
django中间键重定向实例方法
Nov 10 #Python
You might like
php 常用字符串函数总结
2008/03/15 PHP
PHP四舍五入精确小数位及取整
2014/01/14 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
2017/08/16 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
JavaScript实现开关等效果
2017/09/08 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
vue实现登录功能
2020/12/31 Vue.js
ptyhon实现sitemap生成示例
2014/03/30 Python
python操作xml文件详细介绍
2014/06/09 Python
Python 爬虫的工具列表大全
2016/01/31 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
python实现矩阵打印
2019/03/02 Python
Python集合操作方法详解
2020/02/09 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
python实现PDF中表格转化为Excel的方法
2020/06/16 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
python 下载文件的多种方法汇总
2020/11/17 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
eBay德国站:eBay.de
2017/09/14 全球购物
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
高中生期末评语大全
2014/01/28 职场文书
运动会广播稿150字
2014/02/19 职场文书
保密普查工作实施方案
2014/02/25 职场文书
建议书的格式
2014/05/12 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
教师理论学习心得体会
2016/01/21 职场文书
创业开店,这样方式更合理
2019/08/26 职场文书