Table of Content
There are so many ways to run shell command in python, and we run shell command all the time, lazy to place those subprocess calls everywhere, so it is necessary to have wrapper for it.
This is most powerful and easy one I used, take over everything from subprocess but hide the details.
Please remember return is tuple (out,err).
#!/usr/bin/python # run_shell # @dreamcloud # Latest update: Aug 5, 2015 import subprocess import shlex def run_shell(shell_cmd): """ @dreamcloud run unix shell command, it is wrapper of subprocess return (out,err) """ proc=subprocess.Popen(shlex.split(shell_cmd),stdout=subprocess.PIPE, bufsize=4096) out,err = proc.communicate() return out,err if __name__ == '__main__': cmd='ls -ltr' out,err=run_shell(cmd) print out