擅长:python、mysql、java
<p>使用<code>with</code>协议假定<code>with</code>中使用的对象实现<a href="http://docs.python.org/library/stdtypes.html#context-manager-types" rel="noreferrer">context manager protocol</a>。</p>
<p>基本上这意味着类定义应该定义<code>__enter__()</code>和<code>__exit__()</code>方法。如果使用没有这些属性的对象,python将抛出一个<code>AttributeError</code>来抱怨缺少的<code>__exit__</code>属性。</p>