Get subprocess error output from shell command

Benjamin Kaplan benjamin.kaplan at
Sun Apr 3 06:03:33 CEST 2011

On Sat, Apr 2, 2011 at 11:50 PM, Gnarlodious <gnarlodious at> wrote:
> I get it, you instantiate an object, call a method and get a tuple in
> response. However, here is what I see:
>>>> process.communicate()
> (b'~/Library/Preferences/iCab/iCab 4 Bookmarks: Permission denied\n',
> b'')
> So all I get is the string and no error message, which is the same
> thing I get with the simpler I can parse out the
> error out and handle it if I need to. Is this a failing in the OSX
> plutil tool?
> -- Gnarlie
> --

Were you expecting a Python error? That's not how POSIX shells work. A
process that fails just gives you a non-zero return code, not an
exception. You can call process.poll() to get the return code.


More information about the Python-list mailing list