To answer the question "why would you want to do this in Python" - I have the simplest answer: Because the rest of my sysops code is in Python. And porting 400k lines of Python code to bash script (or Perl for that matter) is not worth a slightly cleaner (and potentially less flexible) subprocess framework.
I use subprocess on nearly a daily basis to automate database actions, and while the api is not the most appealing, it actually does its job very well, letting me coordinate 2-3 processes in a chain that's moving 100's of gigs of data on a regular basis.
I use subprocess on nearly a daily basis to automate database actions, and while the api is not the most appealing, it actually does its job very well, letting me coordinate 2-3 processes in a chain that's moving 100's of gigs of data on a regular basis.