billiejoex wrote: > Hi all. I'm searching for a portable (working on *nix and win32) function > that executes a system command and encapsulate its output into a string. > Searching for the web I found this: > > os.popen('command').read() > > It is perfect but when che command return an error the funciotn returns an > empy string. > Does it is possible to return stdout and stderr too?
Use subprocess: from subprocess import Popen, PIPE proc = Popen(['command', 'arg', 'arg'], stdout=PIPE, stderr=PIPE) return_code = proc.wait() if return_code == 0: print "Success:\n%s" % proc.stdout.read() else: print "Failure %s:\n%s" % (return_code, proc.stderr.read()) -- http://mail.python.org/mailman/listinfo/python-list