100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Python contextlib模块使用示例

Python contextlib模块使用示例

时间:2023-09-20 07:38:48

相关推荐

Python contextlib模块使用示例

后端开发|Python教程

Python,contextlib,模块

后端开发-Python教程

看这个模块要先看with as的用法,最常用的方法就是打开一个文件:

网页抽奖源码源码源码源码,硬盘Ubuntu容量不足,jdk10对应tomcat,qq群爬虫工具,微信公众平台基本配置php,dana_seolzw

复制代码 代码如下:

网上购物系统源码下载,vscode如何列选中对齐,ubuntu 进入密码,脚本远程启动tomcat,日志查找爬虫,php jump,湖北短视频seo哪家好,asp网站源码 漂亮,maxcms5.2模板lzw

with open(“filename”) as f:

f.read()

彩虹授权商源码,ubuntu 用户死循环,查看tomcat能不能访问,手机爬虫网页,oa系统java与php,无锡baidu seolzw

with可以调用一个上下文管理器,产生运行时的上下文环境。上下文管理器主要定义两个方法,__enter__,__exit__。__enter__返回上下文里操作的对象,如f。__exit__是销毁对象和异常处理。

contextlib模块对外有三个接口,

contextmanager装饰器,装饰的函数必须是一个生成器。然后返回一个函数,在函数调用的时候返回一个上下文管理器。

nested为了一次调用多个上下文管理器的时候用,将所有上下文管理器里的__enter__放到vars里,一次yield返回,然后unpack。就产生多个对象了。__exit__都放到exits列表里,在finally里统一调用,这些__exit__在调用上下文管理器产生异常时,如何处理。如果返回false,将会把异常继续抛出,返回true则不会抛出异常。

closing,这个用过,没想到的是竟然是个类,而不是个函数。就是把有close方法却没有__exit__方法的对象变成一个上下文管理器。代码很简单:

复制代码 代码如下:

class closing(object):

def __init__(self, thing):

self.thing = thing

def __enter__(self):

return self.thing

def __exit__(self, *exc_info):

self.thing.close()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。