python3预定义清理问题
Posted jiexing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3预定义清理问题相关的知识,希望对你有一定的参考价值。
python异常处理中的finally处理机制之前了解,但是它的一个用法在文件的自动关闭,with:
预定义的清理行为
一些对象定义了标准的清理行为,无论系统是否成功的使用了它,一旦不需要它了,那么这个标准的清理行为就会执行。
这面这个例子展示了尝试打开一个文件,然后把内容打印到屏幕上:
for line in open("myfile.txt"):
print(line, end="")
print(line, end="")
以上这段代码的问题是,当执行完毕后,文件会保持打开状态,并没有被关闭。
关键词 with 语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行他的清理方法:
with open("myfile.txt") as f:
for line in f:
print(line, end="")
for line in f:
print(line, end="")
以上这段代码执行完毕后,就算在处理过程中出问题了,文件 f 总是会关闭。
python异常结构执行顺序,try-->except--->else(无异常)--->finally--->未定义异常
参考python3 菜鸟教程 https://www.runoob.com/python3/python3-errors-execptions.html
以上是关于python3预定义清理问题的主要内容,如果未能解决你的问题,请参考以下文章