Python分享-with做了什么事?

简介: Python分享-with做了什么事?

with在python中通常被用来做资源管理,和异常处理的。

比如我们打开文件,经常能看到用的是with吧,with open这样的用法。这是显示的作用,异常处理就是隐式的。用with能确保,如果IO流出现问题不会阻塞其他进程。

如果不用with的话,该怎么处理文件io呢

file = open('file-path', 'w') 
try: 
    file.write('test') 
finally: 
    file.close()

能看到一定要确保最后调用文件对象的close方法。

如果用with来做,发现可以省略显式调用close方法,with会去做。

with open('file-path', 'w') as file: 
    file.write('test')

常用的需要close的场景,比如数据库的连接,一般需要close,还有例如smtp的连接。


相关文章
|
7天前
|
Python
Python中 * 号有什么用?
`Python`中的`*`号不仅仅用于乘法运算,还涉及数据结构构造与解构、函数参数处理等。它可以用于列表的展开构造和解构,例如在列表中插入或拆分子列表。在字典构造时,`**`用于合并字典。在函数参数中,`*`用于接收不定长位置参数,`**`用于接收不定长关键字参数。此外,`*`和`/`还能限制函数调用的方式,如`*`使后续参数必须为关键字参数,`/`则限制只能使用位置参数。
|
7月前
|
JSON NoSQL Redis
Python使用小结
Python使用小结
42 0
|
7月前
|
C++ 开发者 Python
46 python - self
46 python - self
22 0
|
数据采集 存储 数据挖掘
Python应用 | 我喜欢看什么美剧(一)
Python应用 | 我喜欢看什么美剧(一)
90 0
Python应用 | 我喜欢看什么美剧(一)
python colormaps汇总
最近在进行python绘制散点图时,需要将一些数据根据大小进行颜色显示。需要引入colormaps模块,现将color maps进行汇总如下:
python colormaps汇总
|
JSON NoSQL MongoDB
每天一个Python小技巧(3)
每天一个Python小技巧(3)
127 0
每天一个Python小技巧(3)
|
Python
Python—Python 问题
离线安装库
114 0
|
Python
Python2 转Python3 比较
# Python2 转Python3 #### 1. 工具命令 * python2 * python/pip/pydoc * python3 * python3/pip3/pydoc3 #### 2. 语法 1. exception ``` python3
1116 0
|
人工智能 Linux 测试技术