[Python-ideas] Add output() helper function to subprocess module

Chris Angelico rosuav at gmail.com
Thu Apr 4 04:44:29 EDT 2019


On Thu, Apr 4, 2019 at 7:12 PM Nathaniel Smith <njs at pobox.com> wrote:
>
> On Thu, Apr 4, 2019 at 12:48 AM Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
> >
> > The check_output() function of the subprocess module raises an
> > exception if the process returns a non-zero exit status. This is
> > inconvenient for commands such as grep that use the return
> > status to indicate something other than success or failure.
> >
> > The check_call() function has a companion call(), but here is
> > currently no non-checking companion for check_call(). How
> > about adding one with a signature such as
> >
> > output(args) --> (status, output)
>
> Isn't this already available as: run(args, stdout=PIPE)? Is the object
> to the extra typing, or...?
>

Or discoverability. If you want to run a subprocess and catch its
output, you'll naturally reach for check_output, and it feels clunkier
to have to use run() instead.

+1 on adding a nice simple function, although I'm not 100% sold on the
name "output".

ChrisA


More information about the Python-ideas mailing list