擅长:python、mysql、java
<p>这个功能似乎并不直接存在于Python中。在</p>
<p>但是,我需要为我自己的库的unittests提供类似的功能,并且开发了一个上下文管理器,它可以备份整个进程的警告注册表状态,清除它,然后在上下文完成后恢复它。在</p>
<p>这里的文章有点太长了,但是我已经将它作为解决<a href="http://bugs.python.org/issue21724">python bug 21724</a>的潜在起点提交,因此您应该能够直接从<a href="http://bugs.python.org/file40031/reset_warning_registry.py">http://bugs.python.org/file40031/reset_warning_registry.py</a>下载并使用它</p>
<p>用法如下:</p>
<pre><code>from reset_warning_registry import reset_warning_registry
with reset_warning_registry():
... do things with clear registry ...
# alternately, to just clear the warnings w/o restoring
reset_warning_registry().__enter__()
</code></pre>