Redirect os.system output
steve at holdenweb.com
Mon Oct 24 15:18:31 CEST 2005
> Ok, I tried this...
> Python 2.4.1 (#65, Mar 30 2005, 09:13:57) [MSC v.1310 32 bit (Intel)]
> on win32
> Type "help", "copyright", "credits" or "license" for more information.
>>>>import subprocess as sp
>>>>p = sp.Popen("cmd", stdout=sp.PIPE)
>>>>result = p.communicate("ipconfig")
> 'result' is not recognized as an internal or external command,
> operable program or batch file.
> basically I was opening to send the "ipconfig" command to cmd.exe and
> store the result in the "result" variable. But you can see there was
> an error with result.
It looks to me like the line you thought you were typing at the Python
command interpreter actually got snagged by the command processor you
just ran, which presumably is taking its input from the console just
like Python is.
Haven't used subprocess much yet, but I will just mention that this kind
of thing always looks easy in principle and turns out to be surprisingly
gnarly and difficult in practice.
I'm not suggesting you shouldn't continue, but you are going to learn a
*lot* as you proceed. Good luck.
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/
More information about the Python-list