<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>[io] </title> <meta content="text/html;charset=ISO-8859-1" name="Content-Type"/> <link href="style.css" media="screen" rel="stylesheet" type="text/css"/></head> <body> <div><a href="http://codespeak.net"><img alt="py lib" height="114" id="pyimg" src="http://codespeak.net/img/pylib.png" width="154"/></a></div> <div id="metaspace"> <div class="project_title">[io] </div> <div id="menubar"><a class="menu" href="index.html">index</a> <a class="menu" href="../../apigen/api/index.html">api</a> <a class="menu" href="../../apigen/source/index.html">source</a> <a class="menu" href="contact.html">contact</a> <a class="menu" href="download.html">download</a></div></div> <div id="contentspace"> <div id="docinfoline"> <div style="float: right; font-style: italic;"> </div></div> <div class="document" id="py-io"> <h1 class="title">py.io</h1> <div class="contents topic"> <p class="topic-title first"><a id="contents" name="contents">Contents</a></p> <ul class="auto-toc simple"> <li><a class="reference" href="#io-capturing-examples" id="id1" name="id1">1 IO Capturing examples</a><ul class="auto-toc"> <li><a class="reference" href="#py-io-stdcapture" id="id2" name="id2">1.1 py.io.StdCapture</a></li> <li><a class="reference" href="#py-io-stdcapturefd" id="id3" name="id3">1.2 py.io.StdCaptureFD</a></li> </ul> </li> </ul> </div> <p>The 'py' lib provides helper classes for capturing IO during execution of a program.</p> <div class="section"> <h1><a class="toc-backref" href="#id1" id="io-capturing-examples" name="io-capturing-examples">1 IO Capturing examples</a></h1> <div class="section"> <h2><a id="py-io-stdcapture" name="py-io-stdcapture">1.1 <a class="reference" href="../../apigen/api/io.StdCapture.html">py.io.StdCapture</a></a></h2> <p>Basic Example:</p> <blockquote> <pre class="doctest-block"> >>> import py >>> capture = py.io.StdCapture() >>> print "hello" >>> out,err = capture.reset() >>> out.strip() == "hello" True </pre> </blockquote> <p>For calling functions you may use a shortcut:</p> <blockquote> <pre class="doctest-block"> >>> import py >>> def f(): print "hello" >>> res, out, err = py.io.StdCapture.call(f) >>> out.strip() == "hello" True </pre> </blockquote> </div> <div class="section"> <h2><a id="py-io-stdcapturefd" name="py-io-stdcapturefd">1.2 <a class="reference" href="../../apigen/api/io.StdCaptureFD.html">py.io.StdCaptureFD</a></a></h2> <p>If you also want to capture writes to the stdout/stderr filedescriptors you may invoke:</p> <blockquote> <pre class="doctest-block"> >>> import py, sys >>> capture = py.io.StdCaptureFD() >>> sys.stderr.write("world") >>> out,err = capture.reset() >>> err 'world' </pre> </blockquote> </div> </div> </div> </div></body></html>