Grups de Google ja no admet publicacions ni subscripcions noves de Usenet. El contingut antic es pot continuar consultant.

os.system() bug?

2.248 visualitzacions
Ves al primer missatge no llegit

Johan Fredrik Øhman

no llegida,
8 de juny 2003, 18:22:448/6/03
a
Python 2.2.3 (#42, May 30 2003, 18:12:08) [MSC 32 bit (Intel)] on win32

>>> os.system('"C:\Program Files\UltraEdit\uedit32.exe" "arg"')
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
1
>>> os.system('""C:\Program Files\UltraEdit\uedit32.exe" "arg"')
0

I am really stumbeled by this! Why do I have to write two " at the
beginning of the command to make it work? Seems like this problem only
occurs when there is a space in the path.

--
Johan Fr Ohman


Tim Peters

no llegida,
8 de juny 2003, 18:58:588/6/03
a
[Johan Fredrik Øhman]

>>>> os.system('"C:\Program Files\UltraEdit\uedit32.exe" "arg"')
> 'C:\Program' is not recognized as an internal or external command,
> operable program or batch file.
> 1
>>>> os.system('""C:\Program Files\UltraEdit\uedit32.exe" "arg"') 0
>
> I am really stumbeled by this! Why do I have to write two " at the
> beginning of the command to make it work? Seems like this problem
> only occurs when there is a space in the path.

That's right. os.system() opens a command shell, and this behavior is
inherited from your command shell. If you open a "DOS box" and type the
same things at it, you'll get the same results -- it's the Windows command
shells that require quoting paths with embedded spaces.

0 missatges nous