This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ncoghlan
Recipients gregory.p.smith, ncoghlan
Date 2017-11-21.06:13:46
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1511244827.04.0.213398074469.issue32102@psf.upfronthosting.co.za>
In-reply-to
Content
I'm hesitant to suggest adding yet-another-option to any subprocess API, but I'm thinking it may be worth it in this case.

The idea is to make it possible to replace:

    result = subprocess.run(cmd, stdout=PIPE, stderr=PIPE)

with:

    result = subprocess.run(cmd, capture_output=True)

That way, it would be possible for the raw stdin/stdout/stderr parameters to be treated as low level implementation details most of the time, since the most common configurations would be:

    # Use parent's stdin/stdout/stderr
    result = subprocess.run(cmd) 
    # Use pipe for stdin, use parent's stdout/stderr
    result = subprocess.run(cmd, input=data)
    # Use parent's stdin, use pipe for stdout/stderr
    result = subprocess.run(cmd, capture_output=True) 
    # Use pipe for stdin/stdout/stderr
    result = subprocess.run(cmd, input=data, capture_output=True)
History
Date User Action Args
2017-11-21 06:13:47ncoghlansetrecipients: + ncoghlan, gregory.p.smith
2017-11-21 06:13:47ncoghlansetmessageid: <1511244827.04.0.213398074469.issue32102@psf.upfronthosting.co.za>
2017-11-21 06:13:46ncoghlanlinkissue32102 messages
2017-11-21 06:13:46ncoghlancreate