8.7. 预定义清理行为

最后更新于:2022-04-01 00:48:44

有些对象定义了标准的清理行为,无论对象操作是否成功,不再需要该对象的时候就会起作用。以下示例尝试打开文件并把内容打印到屏幕上。 ~~~ for line in open("myfile.txt"): print(line) ~~~ 这段代码的问题在于在代码执行完后没有立即关闭打开的文件。这在简单的脚本里没什么,但是大型应用程序就会出问题。with 语句使得文件之类的对象可以 确保总能及时准确地进行清理。 ~~~ with open("myfile.txt") as f: for line in f: print(line) ~~~ 语句执行后,文件 _f_ 总会被关闭,即使是在处理文件中的数据时出错也一样。其它对象是否提供了预定义的清理行为要查看它们的文档。
';