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