Trying to run an external program

Matimus mccredie at gmail.com
Wed Sep 20 20:30:59 EDT 2006


Brant Sears wrote:
> Hi. I'm new to Python and I am trying to use the latest release (2.5)
> on Windows XP.
>
> What I want to do is execute a program and have the results of the
> execution assigned to a variable. According to the documentation the
> way to do this is as follows:
>
> import commands
> x = commands.getstatusoutput('dir')
>
> This should assign "x" to be the output of the command "dir".
> However, when I run this (or any other command), x ends up being:
>
> (1, "'{' is not recognized as an internal or external command,
> \noperable program or batch file.")
>
>  From looking through the documentation, I'm believing that the
> implementation of commands.getstatusoutput is actually some multi-
> step thing that starts with issuing the bracket character that is
> being choked on. This leads me to believe that Python or perhaps just
> the commands module is not setup correctly on my computer.
>
> I installed Python using the Python2-5.msi link that I found at:
> http://www.python.org/download/releases/2.5/
>
> I left everything the default during installation, so Python was
> installed to C:\Python25. The only other thing I did was add this
> PATH variable on my computer.
>
> Any ideas on what I might do to troubleshoot this?
>
> Thanks!
>
> Brant Sears

commands is a Unix module, hence it will not work in Windows XP. If you
don't need the return code try this:

import os

pipe = os.popen('dir')
x = pipe.read()
# do something with x

-Matt




More information about the Python-list mailing list