with open是python中特别方便的一种写法, 对于支持的函数来说, 有了with这个语句可以很方便的在操作完成时自动关闭对象. 对于自己编写的对象其实也可以实现with语法的支持.
具体的做法就是在自己的class中定义__enter__和__exit__两个方法:
1 | class MyClass(object): |
如此一来, 在使用with时就会先执行__enter__内的内容, 在代码块结束的时候则自动执行__exit__的内容了.
1 | >>> with MyClass() as tClass: |