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实现向ppt文件里插入新幻灯片页面的方法
Apr 28 Python
Python的Urllib库的基本使用教程
Apr 30 Python
利用python批量修改word文件名的方法示例
Oct 17 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
TensorFlow神经网络优化策略学习
Mar 09 Python
使用python获取csv文本的某行或某列数据的实例
Apr 03 Python
python的scipy实现插值的示例代码
Nov 12 Python
PyQt5+python3+pycharm开发环境配置教程
Mar 24 Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 27 Python
使用python求解迷宫问题的三种实现方法
Mar 17 Python
Python读取和写入Excel数据
Apr 20 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使HTML标签自动补全闭合函数代码
2012/10/04 PHP
浅析PHP中的UNICODE 编码与解码
2013/06/29 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
PHP递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
jquery 插件学习(三)
2012/08/06 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
jQuery中:lt选择器用法实例
2014/12/29 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
2015/02/03 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
vue实现在线翻译功能
2019/09/27 Javascript
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
白宫黑市官网:White House Black Market
2016/11/17 全球购物
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
机电一体化毕业生求职信
2013/11/02 职场文书
入党积极分子介绍信
2014/01/17 职场文书
《童年的发现》教学反思
2014/02/14 职场文书
分公司经理任命书
2014/06/05 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
英语教师个人工作总结
2015/02/09 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python