From: Georg Brandl Date: Sat, 24 Nov 2007 11:31:46 +0000 (+0000) Subject: #1344: document that you need to open std{in,out,err} with PIPE if you want X-Git-Tag: v2.6a1~1006 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=439f250c00d9cecb9559ca33e412a376ed010998;p=python #1344: document that you need to open std{in,out,err} with PIPE if you want communicate() to work as described. --- diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index 64bc70bfe8..17242c42f7 100644 --- a/Doc/library/subprocess.rst +++ b/Doc/library/subprocess.rst @@ -195,7 +195,12 @@ Instances of the :class:`Popen` class have the following methods: communicate() returns a tuple (stdout, stderr). - .. note:: + Note that if you want to send data to the process's stdin, you need to create + the Popen object with ``stdin=PIPE``. Similarly, to get anything other than + ``None`` in the result tuple, you need to give ``stdout=PIPE`` and/or + ``stderr=PIPE`` too. + +.. note:: The data read is buffered in memory, so do not use this method if the data size is large or unlimited.