python with as 语句使用

在 Python 中,使用 with as 语句操作上下文管理器(context manager),它能够帮助我们自动分配并且释放资源。

在很多编程语言中 文件的输入输出、数据库的连接断开等,都是很常见的资源管理操作。但资源都是有限的,在写程序时,必须保证这些资源在使用过后得到释放,不然就容易造成资源泄露,轻者使得系统处理缓慢,严重时会使系统崩溃。上线文的管理就是要释放这种资源。

with as 语句的基本语法格式为:

with 表达式 [as target]:
    代码块

此格式中,用 [] 括起来的部分可以使用,也可以省略。
其中,target 参数用于指定一个变量,该语句会将 expression 指定的结果保存到该变量中。with as 语句中的代码块如果不想执行任何语句,可以直接使用 pass 语句代替。

假设有一个 test.txt 文件,其存储内容如下:

IT懒猫社区
https://www.catroom.com.cn/

在和 test.txt 同级目录下,创建一个 .py 文件,并编写如下代码:

with open('test.txt', 'a') as f:
    f.write("\nPython教程")

运行结果为:
IT懒猫社区
https://www.catroom.com.cn/
Python教程

可以看到,通过使用 with as 语句,即便最终没有关闭文件,修改文件内容的操作也能成功。