某些对象定义了不需要该对象时要执行的标准清理操作,无论使用该对象的操作是否成功,都会执行清理操作。比如,下例要打开一个文件,并输出文件内容:
for line in open("myfile.txt"): print(line, end="")
with语句支持以及时、正确的清理的方式使用文件对象,实例如下:
with open("myfile.txt") as f: for line in f: print(line, end="")
语句执行完毕后,即使在处理行时遇到问题,都会关闭文件f。和文件一样,支持预定义清理操作的对象会在文档中指出这一点。