Trying to run an external program

Larry Bates larry.bates at websafe.com
Thu Sep 21 09:31:18 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

Others have answered your specific question, but on a more general note:

If you want directory information use os.listdir or glob.glob instead.
No reason to shell out to do a dir.  If you were using dir as an example,
please disregard.

-Larry Bates



More information about the Python-list mailing list