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 Django(图文)
Nov 04 Python
在Python的Django框架中编写编译函数
Jul 20 Python
关于Python 3中print函数的换行详解
Aug 08 Python
Python中一行和多行import模块问题
Apr 01 Python
Python模拟登录的多种方法(四种)
Jun 01 Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
Django如何实现上传图片功能
Aug 16 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
Python运算符+与+=的方法实例
Feb 18 Python
深入解析NumPy中的Broadcasting广播机制
May 30 Python
Python实现日志实时监测的示例详解
Apr 06 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生成唯一ID之SnowFlake算法
2016/12/17 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
2017/10/06 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
JQuery 引发两次$(document.ready)事件
2010/01/15 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
JQuery live函数
2010/12/24 Javascript
jquery改变disabled的boolean状态的三种方法
2013/12/13 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
python数据类型_字符串常用操作(详解)
2017/05/30 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
Python线程池模块ThreadPoolExecutor用法分析
2018/12/28 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
树莓派安装OpenCV3完整过程的实现
2019/10/10 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
女娲补天教学反思
2014/02/05 职场文书
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
教师节演讲稿
2014/05/06 职场文书
公司户外活动总结
2014/07/04 职场文书
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL