I’m writing some code which involves running a few shell commands from Python and ideally, I would like to integrate the output from these commands into the logger that I’m using. I know I can divert stdout into a file / socket as follows:
call( '<a-shell-cmd>', shell=True, stdout=myFile )
but I’d rather not have the bind of opening a temporary file, looping over the file writing the output, closing the file, deleting the file etc. If there’s anyway that I can send the output directly to the logger, it would seem a lot neater to me. Any ideas?
Use the subprocess module.
Tip: you can go to the documentation for a particular version of python via
http://docs.python.org/release/<major>.<minor>/From Python 2.7 and above:
In Python 2.4:
Below Python 2.4: