Question: How to execute an EXE with Python?
James Kew
james.kew at btinternet.com
Tue Aug 27 17:37:15 EDT 2002
"Fausto Arinos de A. Barbuto" <fbarbuto at telusplanet.net> wrote in message
news:FtRa9.7432$xc2.592187 at news0.telusplanet.net...
>
> import os
> myPy = 'c:/fausto/execs/teste.exe'
> os.execl('c:/windows/command.com', '/k', myPy)
Make the slashes DOS, not Unix-style: I've found that Python is very
tolerant about paths passed to it, but these paths are getting passed to the
underlying OS and must be in the underlying OS's format.
>>> import os
>>> os.spawnl(os.P_WAIT, "C:/Windows/Calc.exe")
Traceback (most recent call last):
File "<interactive input>", line 1, in ?
File "C:\PYTHON22\lib\os.py", line 530, in spawnl
return spawnv(mode, file, args)
OSError: [Errno 2] No such file or directory
>>> os.spawnl(os.P_WAIT, "C:\\Windows\\Calc.exe")
0
Running a path through os.path.normpath will give you a path compatible with
the OS:
>>> os.path.normpath("C:\\Windows\\Calc.exe")
'C:\\Windows\\Calc.exe'
>>> os.path.normpath("C:/Windows/Calc.exe")
'C:\\Windows\\Calc.exe'
>>> os.spawnl(os.P_WAIT, os.path.normpath("C:/Windows/Calc.exe"))
0
James
More information about the Python-list
mailing list