Google Gruppi non supporta più i nuovi post o le nuove iscrizioni Usenet. I contenuti storici continuano a essere visibili.

os.system() bug?

2.248 visualizzazioni
Passa al primo messaggio da leggere

Johan Fredrik Øhman

da leggere,
8 giu 2003, 18:22:4408/06/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

da leggere,
8 giu 2003, 18:58:5808/06/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 nuovi messaggi