一、上下文协议模块(contextlib)
- 上下文管理器的任务是:代码块执行前准备,代码块执行后收拾
1、如何使用上下文管理器:
-
打开一个文件,并写入"hello world"
filename="my.txt"
mode="w"
f=open(filename,mode)
f.write("hello world")
f.close()
- 发生异常时(如磁盘写满),就没有机会执行第5行。当然,我们可以采用try-finally语句块进行包装:
writer=open(filename,mode)
try:
writer.write("hello world")
finally:
writer.close()
- 当我们进行复杂的操作时,try-finally语句就会变得丑陋,采用wi