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

产品毕业设计作品网站怎么给网站加速

产品毕业设计作品网站,怎么给网站加速,企业网站seo外包,建设免费网站模板DAY 23. python上下文管理器 Python 的 with 语句支持通过上下文管理器所定义的运行时上下文这一概念。 此对象的实现使用了一对专门方法#xff0c;允许用户自定义类来定义运行时上下文#xff0c;在语句体被执行前进入该上下文#xff0c;并在语句执行完毕时退出该上下文允许用户自定义类来定义运行时上下文在语句体被执行前进入该上下文并在语句执行完毕时退出该上下文 实现了__enter__()和__exit__(exc_type, exc_val, exc_tb)方法的对象就是上下文管理器上下文管理器可以被with支持。 class Demo:def __init__(self):print(init)def __enter__(self):print(enter)def __exit__(self, exc_type, exc_val, exc_tb):print(exit)if __name__ __main__:demo Demo()with demo:print(with) __enter__()的返回值将会赋值给与with配套使用的as后面的变量__exit__()如果返回True会忽略with中抛出的所有异常返回False默认会向下传递异常,三个参数exc_type, exc_val, exc_tb分别表示捕捉到的异常类型异常值回溯信息没有异常为None。其行为类似于try,finally语句不管有没有产生异常exit一定会被执行。 class Demo:def __init__(self):print(init)def __enter__(self):print(enter)return selfdef __exit__(self, exc_type, exc_val, exc_tb):print(exc_type, exc_val, exc_tb)print(exit)if __name__ __main__:demo Demo()with demo as d:print(d)raise IOError(主动抛出异常)print(with) 结果 Traceback (most recent call last): initFile E:/桌面文件/笔记/Note/Python/总结/code/DAY23/DAY23_1.py, line 18, in module enterraise IOError(主动抛出异常) __main__.Demo object at 0x00000243B4005908 OSError: 主动抛出异常 class OSError 主动抛出异常 traceback object at 0x00000243BAEDD048 exit__exit__() return True后的运行结果 init enter __main__.Demo object at 0x00000183AFDA11D0 class OSError 主动抛出异常 traceback object at 0x00000183B6E6F908 exit传入的异常绝对不应当被显式地重新引发 —— 相反地此方法应当返回一个假值以表明方法已成功完成并且不希望屏蔽被引发的异常. 这允许上下文管理代码方便地检测 __exit__() 方法是否确实已失败。 generator与contextlib.contextmanager Python 的 generator 和 contextlib.contextmanager 装饰器提供了实现这些协议的便捷方式。 如果使用 contextlib.contextmanager 装饰器来装饰一个生成器函数它将返回一个实现了必要的 __enter__() and __exit__() 方法的上下文管理器而不再是由未经装饰的生成器函数所产生的迭代器。 contextlib.contextmanager 是一个装饰器它可以不用定义类或__enter__()和__exit__(exc_type, exc_val, exc_tb)方法而产生一个上下文管理器,被装饰的函数必须是一个生成器对象并且这个迭代器只能yield出一个对象它会被绑定到with语句as后面的变量上 from contextlib import contextmanagercontextmanager def my_open(path: str, mode: str):# 之所以之捕捉了yield语句的异常是因为我们只希望如果with语句块中# 产生了异常也可以确保close()被执行至于open可能抛出的异常我们希望它# 能够向下传递。fp open(path, mode)try:yield ffinally:print(close the file)fp.close()if __name__ __main__:with my_open(01.txt, w) as fp:raise OSErrorfp.write(111) 代码执行顺序是 执行yield之前的语句yield调用后执行with中的代码块最后执行yield之后的语句 closing() closing()是contextlib中的一个方法用来把一个不是上下文对象的方法变成上下文对象,也是用contextmanage实现的一个官方的栗子 from contextlib import closing from urllib.request import urlopenwith closing(urlopen(http://www.python.org)) as page:for line in page:print(line)不用显式调用page.close()也能确保执行 suppress() 可以选择禁止一个或多个异常 if __name__ __main__:with suppress(OSError):with my_open(01.txt, r) as fp:# 抛出的这个异常会被忽略raise OSErrorfp.write(111)redirect_stdout/redirect_stderr 重定向输入输出 # 将输出重定向到文件from contextlib import redirect_stdoutpath test/test.txtwith open(path,w) as fobj:with redirect_stdout(fobj):help(open)
http://wiki.neutronadmin.com/news/55450/

相关文章:

  • 深圳建设造价信息网站做旅行攻略的网站
  • 广告在线设计网站天津做网站建设的公司
  • 建网站的公司价格青岛网站建设平台
  • 体育 网站建设询价函格式模版网站好吗
  • 长沙市门户网站建设工业设计是干嘛的
  • 宁波三优互动网站建设公司怎么样早教类网站模板
  • 上海网站建设模板seo网站优化软件
  • 企业网站建设的目的有哪些怎样用ps做网站首页图
  • 昆山网站建设哪家好仓库管理erp系统使用
  • 风铃微网站怎么做无锡网站制作怎么样
  • c 网站开发用的人多吗cdn wordpress 登录
  • 番禺附近网站建设推广如何上传网站模板
  • 网站经营性质学生登录注册入口
  • 重庆做网站设计网络营销赚钱
  • 企业网站价格花济南定制网站制作公司
  • 北京企业制作网站网站建设学生作业成品
  • 重庆百度竞价排名做网站需求 后期方便优化
  • 免费建设网站怎么样沣东新城开发建设集团有限公司网站
  • 首京建设投资引导基金网站做本地地旅游网站
  • 龙邦建设股份有限公司网站合肥做网站好的公司哪家好
  • 建设银行理财网站开封建设局网站
  • 以网站和什么为重点建设平台国际健康旅行码
  • 优质的网站制作明星个人网站设计
  • 网站建设学那些课程响应式网站 框架
  • 什么系统做网站最安全网站上传用什么软件做视频
  • 做美食推广的网站有哪些罗湖附近公司做网站建设
  • 新闻静态网站模板下载软件开发流程示意图
  • 甘肃省建设局官方网站昆山建设工程招标网站
  • 淘宝做任务网站南昌网站建设资讯
  • 英文网站建设方案 PPT网络网站建设属于什么费用