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实现的去除win下文本文件头部BOM的代码
Feb 10 Python
python查询mysql中文乱码问题
Nov 09 Python
python实现清屏的方法
Apr 30 Python
Python中返回字典键的值的values()方法使用
May 22 Python
python魔法方法-属性访问控制详解
Jul 25 Python
基于Django filter中用contains和icontains的区别(详解)
Dec 12 Python
Python中单线程、多线程和多进程的效率对比实验实例
May 14 Python
如何通过Python实现标签云算法
Jul 02 Python
Python Pandas实现数据分组求平均值并填充nan的示例
Jul 04 Python
Python numpy数组转置与轴变换
Nov 15 Python
Python实现图像去噪方式(中值去噪和均值去噪)
Dec 18 Python
python matplotlib 绘图 和 dpi对应关系详解
Mar 14 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
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
2014/06/22 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
功能强大的Bootstrap组件(结合js)
2016/08/03 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
Python工程师面试题 与Python Web相关
2016/01/14 Python
python+Django+apache的配置方法详解
2016/06/01 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
PyQt5组件读取参数的实例
2019/06/25 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
pytorch: Parameter 的数据结构实例
2019/12/31 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
往来会计岗位职责
2013/12/19 职场文书
追悼会上的答谢词
2014/01/10 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
捐助倡议书
2015/01/19 职场文书
2016年大学自主招生自荐信范文
2015/03/24 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
培训后的感想
2015/08/07 职场文书
中秋节随笔
2015/08/15 职场文书
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
oracle重置序列从0开始递增1
2022/02/28 Oracle
python_tkinter事件类型详情
2022/03/20 Python