with 上下文协议:
主要调用类的__enter__ , __exit__ 函数。当调用open类时,触发__enter__函数,并将返回值赋值给f(句柄),然后执行with下面的代码块,如果代码块没有错误,则在执行完代码块后自动触发__exit__函数。如果有错误,并不会直接报错,而是先进入__exit__函数退出文件操作后,再报错。如果在__exit__函数中设置返回值为真则会将异常吞下,否则会报错。主要调用类的__enter__ , __exit__
主要调用类的__enter__ , __exit__ 函数。当调用open类时,触发__enter__函数,并将返回值赋值给f(句柄),然后执行with下面的代码块,如果代码块没有错误,则在执行完代码块后自动触发__exit__函数。如果有错误,并不会直接报错,而是先进入__exit__函数退出文件操作后,再报错。如果在__exit__函数中设置返回值为真则会将异常吞下,否则会报错。主要调用类的__enter__ , __exit__