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多线程编程(一):threading模块综述
Apr 05 Python
Python简单删除目录下文件以及文件夹的方法
May 27 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
Python使用filetype精确判断文件类型
Jul 02 Python
flask框架使用orm连接数据库的方法示例
Jul 16 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
python中多个装饰器的调用顺序详解
Jul 16 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 Python
Python代码需要缩进吗
Jul 01 Python
python中pow函数用法及功能说明
Dec 04 Python
pandas中DataFrame检测重复值的实现
May 26 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
2014/04/08 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
php封装的验证码类分享
2017/02/26 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
2013/01/23 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
移动端效果之Swiper详解
2017/10/09 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
Djang中静态文件配置方法
2015/07/30 Python
详解python并发获取snmp信息及性能测试
2017/03/27 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
Python中文件的读取和写入操作
2018/04/27 Python
python查看模块安装位置的方法
2018/10/16 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
Python networkx包的实现
2020/02/14 Python
python如何更新包
2020/06/11 Python
欧缇丽英国官方网站:Caudalie英国
2016/08/17 全球购物
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
销售经理岗位职责
2015/01/31 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers