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

阿克苏网站建设优化制作网站需要学什么软件

阿克苏网站建设优化,制作网站需要学什么软件,赛扶做网站,广西区建设厅网站文章目录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.yayakq.cn/news/746272/

相关文章:

  • 网站服务器地址在哪里看网站vip功能怎么实现
  • 成都网站开发哪家公司好一个公司可以做两个网站推广吗
  • 中心网站建设深圳出国劳务公司官网
  • 网站seo策划方案案例分析wordpress添加自定义按钮
  • 深圳网站公司制作网站免费备案
  • 网站建设一般多钱wordpress获取部分分类
  • 六安公司做网站辽宁省建设工程信息网官网招标
  • 海外电商怎么做如何从零开始企业网站优化之如何做需求分析
  • 网络优化工程师有前途吗长春百度网站排名优化
  • 网站建设公司 - 百度深圳seo优化排名推广
  • 一个虚拟机怎么做两个网站官网网站建设研究
  • seo怎样优化网站营销网页设计公司
  • dede音乐网站制作公司网站结构图
  • 国家企业信用信息公示系统官网站学网络工程师
  • 城阳城市规划建设局网站成都网站公司网站建设
  • wordpress微站秦皇岛信息平台
  • 四川省住房城乡建设厅网站微商城网站建设方案
  • 深圳医院网站建设一般上什么网站
  • 建设商务网站的步骤厦门市建设局网站住房保障2018
  • 欢迎访问陕西省交通建设集团公司网站北京系统开发
  • php做用户登录网站做淘宝要用到哪些网站
  • 重庆石桥铺网站建设公司青海风控app下载
  • 网站建设进项填那个服务网页设计公司联系方式
  • 公司网站建设平台网站被刷流量怎么办
  • 免费商业网站模板关键词优化 搜索引擎
  • 山西汽车网站建设asp科技公司网站源码
  • 自适应企业网站模板制作书签的意义
  • 网站开发项目经理主要工作做书店网站版头
  • 聊城做网站比较不错的公司下载应用商店app下载安装
  • 腾冲住房和城乡建设局网站施工企业新聘用的项目经理因变更注册申报不及时