Popular recipes by pwaller http://code.activestate.com/recipes/users/4173218/2010-03-03T06:17:23-08:00ActiveState Code RecipesPOSIX context manager to temporarily silence, or filter lines from stdout (Python)
2010-03-03T06:17:23-08:00pwallerhttp://code.activestate.com/recipes/users/4173218/http://code.activestate.com/recipes/577083-posix-context-manager-to-temporarily-silence-or-fi/
<p style="color: grey">
Python
recipe 577083
by <a href="/recipes/users/4173218/">pwaller</a>
(<a href="/recipes/tags/contextmanager/">contextmanager</a>, <a href="/recipes/tags/freopen/">freopen</a>, <a href="/recipes/tags/silence/">silence</a>, <a href="/recipes/tags/stdout/">stdout</a>, <a href="/recipes/tags/with/">with</a>).
Revision 2.
</p>
<p>Fed up with libraries you don't have control over emitting text into your precious stdout?</p>
<p>If they use stdout through python, then you can just change sys.stdout to be something else. If they are printing directly to stdout through a C module, or some other means, then you are stuck.</p>
<p>.. at least until you discover the <code>with silence():</code> block!</p>
<p>Caveats: Non-portable, tested only on 2.6 under Linux, uses threading.</p>
<p>Example output:</p>
<pre class="prettyprint"><code>$ python silence_file.py
Before with block..
Sensible stuff!
After the silence block
</code></pre>