[Tutor] Interacting with stderr
Alan Gauld
alan.gauld at btinternet.com
Thu Aug 28 01:38:09 CEST 2014
On 27/08/14 23:45, Crush wrote:
> Hello, it has been a while and I hope I am sending to the correct email.
>
> How would I go about running a conditional statement against the
> contents of stderr. For instance, if "blah blah blah" is in stderr do X,
> else do Y.
You can access stderr just like you access stdout.
The recommended way is via communicate:
---------------
Popen.communicate(input=None, timeout=None)
Interact with process: Send data to stdin. Read data from stdout and
stderr, until end-of-file is reached. Wait for process to terminate. The
optional input argument should be data to be sent to the child process,
or None, if no data should be sent to the child. The type of input must
be bytes or, if universal_newlines was True, a string.
communicate() returns a tuple (stdoutdata, stderrdata).
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.
--------------------
HTH
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.flickr.com/photos/alangauldphotos
More information about the Tutor
mailing list