• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python contextlib模块使用示例

Python contextlib模块使用示例

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python contextlib,contextlib,python代码示例,python简单代码示例,python示例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

看这个模块要先看with as的用法,最常用的方法就是打开一个文件:
with open(“filename”) as f:
f.read()
</div>
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()
</div>

</div>

您可能想查找下面的文章:

  • 详解Python中contextlib上下文管理模块的用法
  • Python contextlib模块使用示例

相关文章

  • Python中实现两个字典(dict)合并的方法
  • 详解Python各大聊天系统的屏蔽脏话功能原理
  • Python的条件语句与运算符优先级详解
  • Python基于pillow判断图片完整性的方法
  • 一篇不错的Python入门教程
  • Python只用40行代码编写的计算器实例
  • Python的Bottle框架中获取制定cookie的教程
  • Pythont特殊语法filter,map,reduce,apply使用方法
  • python算法学习之基数排序实例
  • Python中字符串的格式化方法小结

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python中pygame模块用法实例
    • python logging类库使用例子
    • 详解Python网络爬虫功能的基本写法
    • Python中atexit模块的基本使用示例
    • python中合并两个文本文件并按照姓名首字母排序的例子
    • Python 爬虫学习笔记之多线程爬虫
    • Python实用日期时间处理方法汇总
    • Python的randrange()方法使用教程
    • python实现获取客户机上指定文件并传输到服务器的方法
    • python字典多键值及重复键值的使用方法(详解)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有