当前位置: 首页 > news >正文

o2o商城网站建设供应游戏推广合作平台

o2o商城网站建设供应,游戏推广合作平台,营口大石桥网站建设,住房与住房建设部网站文章目录with语句自定义对象支持withcontextlib模块closing自动关闭suppress回避错误ExitStack清理Python 中的 with 语句用于清理工作,封装了 try…except…finally编码范式,提高了易用性。with语句 with语句有助于简化资源管理: # 离开作…

文章目录

    • with语句
      • 自定义对象支持with
    • contextlib模块
      • closing自动关闭
      • suppress回避错误
      • ExitStack清理

Python 中的 with 语句用于清理工作,封装了 try…except…finally编码范式,提高了易用性。

with语句

with语句有助于简化资源管理:

# 离开作用域时,自动关闭文件
with open('hello.txt', 'w') as f:f.write('hello, world!')

自定义对象支持with

类只要实现上下文管理器,就可获得with支持:

  • 类中实现__enter__和__exit__方法;
  • 进入with语句上下文时,__enter__被调用以获取资源;
  • 离开with上下文时,__exit__被调用以释放资源;
class ManagedFile:def __init__(self, name):self.name = namedef __enter__(self):self.file = open(self.name, 'w')return self.filedef __exit__(self, exc_type, exc_val, exc_tb):if self.file:self.file.close()

contextlib模块

使用contextlib.contextmanager装饰器能够使函数(生成器)自动支持with语句:

  • 函数要为生成器,即有yield语句;
  • 将yield语句前代码当做__enter__执行;
  • 将yield语句之后代码当做__exit__执行;
  • yield返回值赋值给as后的变量;
from contextlib import contextmanager@contextmanager
def managed_file(name):try:print("open file:", name)f = open(name, 'w')yield ffinally:print("close file")f.close()with managed_file(r'D:\temp\hello.txt') as f:print("write file")f.write('hello world!')        

closing自动关闭

closing装饰器封装有close的类,在离开with作用域时自动调用close方法:

from contextlib import closing
from urllib.request import urlopenwith closing(urlopen("http://www.baidu.com")) as page:# get the page

suppress回避错误

suppress(*exceptions)可以禁止任意数目的异常:

# 文件不存在,也不会抛出异常
with suppress(FileNotFoundError):os.remove('somefile.tmp')

ExitStack清理

ExitStack可组合多个清理器,通过向栈中添加清理回调(enter_context),在离开with时统一清理:

# 在离开时,会统一关闭打开的文件(即使部分文件在打开时抛出异常)
with ExitStack() as stack:files = [stack.enter_context(open(fname)) for fname in filenames]
http://www.yidumall.com/news/80090.html

相关文章:

  • 阿里云香港节点做的网站排名优化服务
  • 毕节网站建设与对策分析个人博客网站设计毕业论文
  • 贵州省住房和城乡建设厅网站打不开免费b2b推广网站大全
  • 锦州滨海新区城市建设规划网站女生做sem还是seo
  • 昌乐哪里有做网站的百度权重是怎么来的
  • 南京医院网站建设上海百度
  • 提供b2c电商网站开发微信裂变营销软件
  • 怎样做微课网站站外推广免费网站
  • 哪个网站网页做的好看百度购物平台客服电话
  • 做教育网站的er图最新国际新闻 大事件
  • 怎么给网站做谷歌seopc网站建设和推广
  • 网站建设会员管理系统方案网络推广运营是做什么
  • b2c类型的网站seo是哪个英文的简写
  • 外包网站建设企业网站推广方案设计毕业设计
  • jsp编写网站搜索引擎哪个好
  • 批量做网站引流合肥百度关键词推广
  • 卫浴网站怎么做网站搭建平台
  • 小程序源码之家seo网站关键词排名软件
  • 网站开发师是做什么的青岛自动seo
  • 宁波seo网站建设费用免费推广公司
  • 网站在那里备案河南今日头条新闻最新
  • 有些网站开发人员工具无反应所有关键词
  • 招聘网哪个平台比较好招人网络优化工程师工资
  • 页面网站缓存如何做百度首页精简版
  • 广西壮族自治区在线seo关键词排名优化河北seo公司
  • 网站能不能一边用 一边备案广告推广 精准引流
  • 大什么的网站建设公司怎么创作自己的网站
  • 电子商务网站预算模板自媒体服务平台
  • 宁夏网站建设哪个好百度怎么推广自己的网站
  • 网站动图是怎么做的百度竞价开户公司