title: Ignoring CalledProcessError
body: <p>I am using the <code>subprocess</code> module and <code>check_output()</code> to create a virtual shell in my Python script, and it works fine for commands that return a zero exit status, however for ones that don't it returns an exception without printing the error that would have been displayed in the output on a normal shell.</p>
  
  <p>For instance, I would expect something to work like this:</p>
  
  <pre><code>&gt;&gt;&gt; shell('cat non-existing-file')
  cat: non-existing-file: No such file or directory
  </code></pre>
  
  <p>But instead, this happens:</p>
  
  <pre><code>&gt;&gt;&gt; shell('cat non-existing-file')
  CalledProcessError: Command 'cat non-existing-file' returned non-zero exit status 1 (file "/usr/lib/python2.7/subprocess.py", line 544, in check_output)
  </code></pre>
  
  <p>Even though I could remove the Python exception message using <code>try</code> and <code>except</code>, I still want the <code>cat: non-existing-file: No such file or directory</code> to display to the user.</p>
  
  <p>How would I go about doing this?</p>
  
  <p><code>shell()</code>:</p>
  
  <pre><code>def shell(command):
      output   = subprocess.check_output(command, shell=True)
      finished = output.split('\n')
  
      for line in finished:
        print line
      return
  </code></pre>