最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Pythonwith用法实例

来源:动视网 责编:小采 时间:2020-11-27 14:32:36
文档

Pythonwith用法实例

Pythonwith用法实例:python中with可以明显改进代码友好度,比如: 代码如下: with open('a.txt') as f: print f.readlines() 为了我们自己的类也可以使用with, 只要给这个类增加两个函数__enter__, __exit__即可: 代码如下: >>> class A:
推荐度:
导读Pythonwith用法实例:python中with可以明显改进代码友好度,比如: 代码如下: with open('a.txt') as f: print f.readlines() 为了我们自己的类也可以使用with, 只要给这个类增加两个函数__enter__, __exit__即可: 代码如下: >>> class A:


python中with可以明显改进代码友好度,比如:
代码如下:


with open('a.txt') as f:
print f.readlines()


为了我们自己的类也可以使用with, 只要给这个类增加两个函数__enter__, __exit__即可:
代码如下:


>>> class A:
def __enter__(self):
print 'in enter'
def __exit__(self, e_t, e_v, t_b):
print 'in exit'

>>> with A() as a:
print 'in with'

in enter
in with
in exit


另外python库中还有一个模块contextlib,使你不用构造含有__enter__, __exit__的类就可以使用with:
代码如下:


>>> from contextlib import contextmanager
>>> from __future__ import with_statement
>>> @contextmanager
... def context():
... print 'entering the zone'
... try:
... yield
... except Exception, e:
... print 'with an error %s'%e
... raise e
... else:
... print 'with no error'
...
>>> with context():
... print '----in context call------'
...
entering the zone
----in context call------
with no error


使用的最多的就是这个contextmanager, 另外还有一个closing 用处不大
代码如下:


from contextlib import closing
import urllib

with closing(urllib.urlopen('http://www.python.org')) as page:
for line in page:
print line

文档

Pythonwith用法实例

Pythonwith用法实例:python中with可以明显改进代码友好度,比如: 代码如下: with open('a.txt') as f: print f.readlines() 为了我们自己的类也可以使用with, 只要给这个类增加两个函数__enter__, __exit__即可: 代码如下: >>> class A:
推荐度:
标签: 用法 例子 示例
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top