神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python上下文管理器)

with语句

使用with语句替代try-finally 语句,代码更加的简洁清晰

对于需要对资源进行访问的任务,无论在代码运行过程中,是否发 生异常,都会执行必要的清理操作,释放资源。

1.

with open(r"D:\code1\pythontest\mypython.txt") as f:print(f.read())

2.

with open(r"D:\code1\pythontest\mypython.txt") as f:print(f.read())
print(f.read())

3.

with open(r"D:\code1\pythontest\mypython.txt","w") as f:print(f.read())

上下文管理器

上下文管理器是Python中的一种协议,它保证了每次代码执行的一致性

一旦进入上下文管理器,就一定会按照规定的步骤退出

如果合理的设计了退出上下文管理器的步骤,就能够很好的处理异常

上下文管理器被最多用到的场景是资源清理操作

实现上下文管理器,只要在类定义时,实现__enter__()方法和__exit__()方法即可

使用with语句访问上下文管理器

with 上下文管理器表达式 [ as 变量]:

    语句块

#上下文管理器
class File():def __init__(self,filename,mode):self.filename=filenameself.mode=mode#在with语句块执行前,首先会执行enter()方法def __enter__(self):print("执行__enter__function.")self.f = open(self.filename,self.mode)return self.f#当with语句块执行结束,无论是否出现异常,都会调用__exit__()方法#通常将清除、释放资源的操作写在__exit__()方法中def __exit__(self,*args):print("执行s__exit__function.")self.f.close()with File(r'D:\code1\pythontest\mypython.txt','r') as f:print(f.read())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(NumPy科学计算库<1>python)

多维数组 形状(Shape): 是一个元组,描述数组的维度,以及各个维度的长度。 长度(Length): 某个维度中的元素个数。 数字单门课程成绩1*课程成绩一维数组多门课程成绩n*课程成绩二…

python 赋值方法_基于Python List的赋值方法

Python中关于对象复制有三种类型的使用方式,赋值、浅拷贝与深拷贝。他们既有区别又有联系,刚好最近碰到这一类的问题,研究下。 一、赋值 在python中,对象的赋值就是简单的对象引用,这点和C不同。如下: a […

ldr和adr在使用标号表达式作为操作数的区别

ARM汇编有ldr指令以及ldr、adr伪指令,他门都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别。 ldr r0, _startadr r0, _startldr r0, _start_start:b _start编译的时候设置 RO 为 0x30000000&#…

web扫描

随着网站越来越多元化,内容或资讯都会不定期更新,而每个新增的页面或连结,都有可能带来新的漏洞,因此,网站的安全性 检测不论在上线前或是每次更新时,都是务必检查的工作。 但是手动的网站检测,…

2.2基本算法之递归和自调用函数_数据结构与算法之5——队列和栈

栈和队列比较简单,而且实用性非常广泛,这里主要介绍一下他们的概念和实现,在很多算法中,栈和队列的运用很重要,因此,虽然简单确是最重要的数据结构之一,必须重视。栈是保证元素后进先出(后存入者…

神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(NumPy科学计算库<2>python)

数组元素的切片 一维数组 #一维数组 #切片方法和Python序列数据结构的切片一样 anp.array([0,1,2,3,4],dtypenp.int64)#占用新的内存 #不包括结束位置 print(a[0:3]) print(a[:3]) print(a[0:]) 二维数组 #二维数组 anp.array([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]],d…

基于三值图像的车牌识别测试程序发布

基于三值图像的车牌识别测试程序正式发布,初始版本是0.9.0。由于还有匹配模板没有完全导入,因此,识别精度还低。但是,目的是演示识别过程。其意义是,1、基于彩色图像直接进行三值化(即彩色二值化&#xff0…

LDR 、ADR介绍

请教: (1)LDR R1, 0x12345678 ;加载 32 位立即数 LDR R1,0x12345678 有什么不相同啊? 一般在什么情况下用 LDR R1, 0x12345678 ? 在什么情况下用 LDR R1,0x12345678 ? (2&#x…

c语言二进制数怎么表示_搞懂这些公式和原理,二级C语言对你来说肯定会简单很多!...

基本概念:机器数:在计算机中,一个数有二进制表示的数原码:第一位是符号位,其他位表示数值:0:正数,1:负数反码:正数-->原码,负数-->符号位不…

详细js读取execl内容并展示

作者execl内容展示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"> <!-- <script type"text/java…

[转载]细说Java反射

原文地址&#xff1a;细说Java反射作者&#xff1a;简单爱一、反射的概念 &#xff1a; 反射的概念是由Smith在1982年首次提出的&#xff0c;主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先…

python棋盘最短路径_Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例...

本文实例讲述了Python数据结构与算法之图的最短路径(Dijkstra算法)。分享给大家供大家参考&#xff0c;具体如下&#xff1a; # coding:utf-8 # Dijkstra算法——通过边实现松弛 # 指定一个点到其他各顶点的路径——单源最短路径 # 初始化图参数 G {1:{1:0, 2:1, 3:12}, 2:{2:…

嵌入式经典面试题

C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年&#xff0c;我既参加也组织了许多这种测试&#xff0c;在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息&#xff0c;此外&#xff0c;撇开面试的压力不谈&#xff0c;这种测试也是相当有趣的…

js将百度坐标转为wgs84

作者execl示例 读取并转换结果如下 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- <scrip…

Jetty 服务器架构分析(中)

接上一篇&#xff0c;说到XmlConfiguration ,XmlConfiguration 利用自己实现的 IOC 组装 Server 的全过程如下图所示&#xff1a; 这里可以看到 3 个关键的配置文件&#xff0c; jetty.xml 、 jetty-deploy.xml 、以及 contexts/xxx.xml l Jetty.xml 文件中定义了…

python去掉列表中的单引号_Python:如何从列表项中删除单引号(Python: How to remove single quotes from list item)...

I’m working on a bit of python code to run a query against a redshift (postgres) SQL database, and I’m running into an issue where I can’t strip off the surrounding single quotes from a variable I’m passing to the query. I’m trying to drop a number of…

VxWorks嵌入式操作系统的TrueFFS文件系统驱动开发

嵌入式系统对执行速度和系统可靠性的要求&#xff0c;决定了嵌入式系统需要一种安全、快速的存储设备&#xff0c;这种设备备同时还需要体积小、容量大、掉电数据不丢失等特点。而Flash存储器恰恰能够满足上述要求。这也使得Flash存储器成为嵌入式系统中的主要存储设备。 现…

神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(NumPy科学计算库<矩阵和随机数>python)

矩阵和随机数 矩阵 创建矩阵 #创建矩阵 astring np.mat("1 2 3; 4 5 6") alist [[1,2,3],[4,5,6]] anplist np.array(alist) print(np.matrix(astring))#字符串、列表、元组、数组 print(np.mat(astring))#字符串、列表、元组、数组 print(np.mat(alist)) prin…

python爬虫抓取文本_Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例...

本文实例讲述了Python实现可获取网易页面所有文本信息的网易网络爬虫功能。分享给大家供大家参考&#xff0c;具体如下&#xff1a; #codingutf-8 #--------------------------------------- # 程序&#xff1a;网易爬虫 # 作者&#xff1a;ewang # 日期&#xff1a;2016-7-6 #…

DOC学习之TrueFFS

TrueFFS原理 引用TrueFFS原理及其在CF卡上的实现的部分内容 “1、Wear-Leveling 闪速存储器不能无限次重复使用。它的每个扇区的擦除次数虽然很大&#xff0c;但却有限&#xff1b;因此&#xff0c;随着使用次数的加长&#xff0c;它最终会变成只读状态&#xff0c;所以应该尽…