[Tutor PyCZ] os.system a cesta s mezerou
Petr Prikryl
PrikrylP na skil.cz
Úterý Květen 23 14:17:50 CEST 2006
dam
> chci vyvolat pomoci os.system() program, jehoz cesta ma v
> nazvu mezeru.
> Bohuzel dostavam chybu ze "c:\Program" neni jmeno programu a koncim.
> Pokousel jsem se to nejak obejit za pomoci uvozovek, ale nedari se...
Našel jsem nějakou diskusi k tomuto problému.
Dotaz:
http://mail.python.org/pipermail/python-list/2005-December/313558.html
... a hřebíček uhozený na hlavičku:
http://mail.python.org/pipermail/python-list/2005-December/313598.html
Praktický dopad je takový -- obalit celý zkonstruovaný příkaz
ještě jedněmi uvozovkami.
a.py
======================================================
import os
prog = r'"C:\program Files\adobe\acrobat 7.0\reader\acroRd32.exe"'
arg = r'"C:\program Files\adobe\acrobat 7.0\Help\CZE\reader.pdf"'
cmd = '"' + prog + ' ' + arg + '"'
print 'prog:', prog
print 'arg:', arg
print 'cmd:', cmd
os.system(cmd)
print
======================================================
Vinen je windowsowský cmd.exe, který se snaží být moc
chytrý kvůli zpětné kompatibilitě s command.com. Asi
to nebude fungovat pod Windows 95/98, kde se používá
command.com.
pepr
Další informace o konferenci Tutor