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