Python中如何详细解释with语句及其上下文管理器用法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1874个文字,预计阅读时间需要8分钟。
目录
一、with语句的使用
二、上下文管理器
三、小结
四、阅读源码的习惯
五、带with关键字语句的优越性
六、with关键字的应用场景
七、系统资源管理
目录
- 一、with语句的使用
- 二、上下文管理器
- 三、小结
如果你有阅读源码的习惯,可能会看到一些优秀的代码经常出现带有 with 关键字的语句,它通常用在什么场景呢?对于系统资源如文件、数据库连接、socket 而言,应用程序打开这些资源并执行完业务逻辑之后,必须做的一件事就是要关闭(断开)该资源。
比如 Python 程序打开一个文件,往文件中写内容,写完之后,就要关闭该文件,否则会出现什么情况呢?极端情况下会出现 Too many open files 的错误,因为系统允许你打开的最大文件数量是有限的。同样,对于数据库,如果连接数过多而没有及时关闭的话,就可能会出现 Can not connect to MySQL server Too many connections,因为数据库连接是一种非常昂贵的资源,不可能无限制的被创建。
本文共计1874个文字,预计阅读时间需要8分钟。
目录
一、with语句的使用
二、上下文管理器
三、小结
四、阅读源码的习惯
五、带with关键字语句的优越性
六、with关键字的应用场景
七、系统资源管理
目录
- 一、with语句的使用
- 二、上下文管理器
- 三、小结
如果你有阅读源码的习惯,可能会看到一些优秀的代码经常出现带有 with 关键字的语句,它通常用在什么场景呢?对于系统资源如文件、数据库连接、socket 而言,应用程序打开这些资源并执行完业务逻辑之后,必须做的一件事就是要关闭(断开)该资源。
比如 Python 程序打开一个文件,往文件中写内容,写完之后,就要关闭该文件,否则会出现什么情况呢?极端情况下会出现 Too many open files 的错误,因为系统允许你打开的最大文件数量是有限的。同样,对于数据库,如果连接数过多而没有及时关闭的话,就可能会出现 Can not connect to MySQL server Too many connections,因为数据库连接是一种非常昂贵的资源,不可能无限制的被创建。

