Python with的用法


Posted in Python onAugust 22, 2014

在Python中,with关键字是一个替你管理实现上下文协议对象的好东西。例如:file等。示例如下:
  

from __future__ import with_statement 
with open('cardlog.txt','r') as item : 
  for line in item : 
    print line;

 
 在file的结束,会自动关闭该文件句柄。
 
在python2.6中,with正式成为了关键字
所以在python2.5以前,要利用with的话,需要使用:

from __future__ import with_statement

 
 它的原理如下:
所有实现上下文协议的对象都包含以下三种方法:
__context__()  它返回一个自我管理的上下文对象,或者一个真正意义的上下文管理器
 
__enter()__  进入上下文管理器,开始迭代
 
当with语句结束的时候,无论是正常结束还是抛出异常,都会执行__exit__(),该方法用于关闭资源连接。

Python 相关文章推荐
Python下Fabric的简单部署方法
Jul 14 Python
实例讲解Python中函数的调用与定义
Mar 14 Python
Python利用IPython提高开发效率
Aug 10 Python
基于Django contrib Comments 评论模块(详解)
Dec 08 Python
Python单元测试unittest的具体使用示例
Dec 17 Python
详解程序意外中断自动重启shell脚本(以Python为例)
Jul 26 Python
使用coverage统计python web项目代码覆盖率的方法详解
Aug 05 Python
python argparser的具体使用
Nov 10 Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 Python
python中id函数运行方式
Jul 03 Python
pycharm 2020 1.1的安装流程
Sep 29 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
Jan 27 Python
Tornado服务器中绑定域名、虚拟主机的方法
Aug 22 #Python
python with statement 进行文件操作指南
Aug 22 #Python
Python中还原JavaScript的escape函数编码后字符串的方法
Aug 22 #Python
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 #Python
Python升级提示Tkinter模块找不到的解决方法
Aug 22 #Python
Python实现多行注释的另类方法
Aug 22 #Python
Python利用pyHook实现监听用户鼠标与键盘事件
Aug 21 #Python
You might like
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
php递归函数三种实现方法及如何实现数字累加
2015/08/07 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
2019/10/04 PHP
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
自己的js工具 Event封装
2009/08/21 Javascript
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
限制复选框最多选择项的实现代码
2016/05/30 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
基于vuejs实现一个todolist项目
2017/04/11 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
python中的json总结
2018/10/11 Python
python统计中文字符数量的两种方法
2019/01/31 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
如何使用python记录室友的抖音在线时间
2020/06/29 Python
python实现KNN近邻算法
2020/12/30 Python
纯HTML5+CSS3制作生日蛋糕(代码易懂)
2016/11/16 HTML / CSS
出国留学介绍信
2014/01/13 职场文书
自考生自我评价分享
2014/01/18 职场文书
横店影视城导游词
2015/02/06 职场文书
培训班通知
2015/04/25 职场文书
运动会宣传稿100字
2015/07/23 职场文书
基于Python实现一个春节倒计时脚本
2022/01/22 Python
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏
python实现商品进销存管理系统
2022/05/30 Python
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android