On Thu, Feb 9, 2017 at 10:50 PM, Cameron Simpson <[email protected]> wrote:
> This is why I suggested the check_returncode() method, which examines the
> error code.
You must be thinking of the returncode attribute, which isn't a
method. check_returncode() is a method of the CompletedProcess object
that's returned by subprocess.run(), which was added in 3.5. The OP is
using both 3.4 and 3.5, so run() isn't a practical option.
The older check_output() function also checks the return code and
raises a subprocess.CalledProcessError if the command fails. For
example:
>>> subprocess.check_output(['which', 'ls'])
b'/bin/ls\n'
>>> subprocess.check_output(['which', 'pandoc'])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.5/subprocess.py", line 626, in check_output
**kwargs).stdout
File "/usr/lib/python3.5/subprocess.py", line 708, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['which', 'pandoc']'
returned non-zero exit status 1
--
https://mail.python.org/mailman/listinfo/python-list