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异步任务队列示例
Apr 01 Python
python基础教程之对象和类的实际运用
Aug 29 Python
在Python程序中实现分布式进程的教程
Apr 28 Python
flask + pymysql操作Mysql数据库的实例
Nov 13 Python
Python实现上下班抢个顺风单脚本
Feb 07 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
Nov 14 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
详解Python的数据库操作(pymysql)
Apr 04 Python
python计算Content-MD5并获取文件的Content-MD5值方式
Apr 03 Python
使用IPython或Spyder将省略号表示的内容完整输出
Apr 20 Python
python实现快速文件格式批量转换的方法
Oct 16 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
PHPMailer安装方法及简单实例
2008/11/25 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
PHP防止post重复提交数据的简单例子
2014/06/07 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
PHP高并发和大流量解决方案整理
2021/03/09 PHP
IE 当eval遇上function的处理
2011/08/09 Javascript
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
Lua表达式和控制结构学习笔记
2014/12/15 Javascript
JS动态加载当前时间的方法
2015/02/09 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
JQuery点击事件回到页面顶部效果的实现代码
2016/05/24 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
ES6中Iterator与for..of..遍历用法分析
2017/03/31 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
解决PyCharm中光标变粗的问题
2017/08/05 Python
python简单实例训练(21~30)
2017/11/15 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
成立公司计划书
2014/05/07 职场文书
2015毕业生简历自我评价
2015/03/02 职场文书
工商行政处罚决定书
2015/06/24 职场文书
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB