Calling BASH from Python: Difference between revisions
No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
return results | return results | ||
</source> | </source> | ||
[[Category: BASH]] [[Category: Cookbook]] [[Category: Python]] |
Latest revision as of 10:01, 28 October 2011
A function to call a bash command, and capture stdout and sterr (text is returned).
def system_stdin_stderr (cmd, readlimitbytes=4000):
p = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)
(pin, pout) = (p.stdin, p.stdout)
results = pout.read(readlimitbytes)
pin.close(); pout.close()
os.kill(p.pid, 1)
return results