Getting subprocess.call() output into a string?
Tobiah
toby at tobiah.org
Tue Apr 15 16:36:11 EDT 2008
I am not sure how to capture the output of a command
using subprocess without creating a temp file. I was
trying this:
import StringIO
import subprocess
file = StringIO.StringIO()
subprocess.call("ls", stdout = file)
Traceback (most recent call last):
File "<stdin>", line 6, in ?
File "/usr/local/lib/python2.4/subprocess.py", line 413, in call
return Popen(*args, **kwargs).wait()
File "/usr/local/lib/python2.4/subprocess.py", line 534, in __init__
(p2cread, p2cwrite,
File "/usr/local/lib/python2.4/subprocess.py", line 840, in _get_handles
c2pwrite = stdout.fileno()
AttributeError: StringIO instance has no attribute 'fileno'
So how do I get the output into a string?
I thought that the idea of StringIO was that it could be
used where a file was expected.
Thanks,
Toby
** Posted from http://www.teranews.com **
More information about the Python-list
mailing list