Pavel Kosina wrote: > Jan Kundrát napsal(a): >> To neni pravda; uvozovky se pouzivaji jenom proto, abys shellu rekl, ze >> to ma predat jako jeden parametr. > Myslím že si nerozumíme. Tyto uvozovky " (příklad "C:\Documents and > Settings\Blu\Plocha\Creator\Blu IDLE.pyw") nepatří shellu, ale Pythonu. > Pokud je chceš předat shellu, musíš použít v Pythonu ještě ty druhé > ('"C:\Documents and Settings\Blu\Plocha\Creator\Blu IDLE.pyw"'). Pak > cesta v shellu (DOSu) zůstane jako jeden argument (obalený uvozovkami ") > a ne, jako by to bylo v tomto případě, 4 argumenty (C:\Documents, and, > Settings\Blu\Plocha\Creator\Blu, IDLE.pyw).
Ale ono os.spawnl() nepouziva shell :). Pokud chci predat argument "ahoj Marenko" *bez* uvozovek, napisu to jako os.spawnl(..., "ahoj Marenko",...), naproti tomu pokud bych chtel to same *vcetne* uvozovek, pouziju os.spawnl(..., '"ahoj Marenko"',...). Muze se ti to zdat divny, muzes s tim nesouhlasit, ale to je asi tak vsechno, co proti tomu muzes delat :). Tohle absolutne nesouvisi s Pythonem, ale s tim, jak funguji promenne prostredi. Pokud zadavas nejaky program shellu, musis shellu rict, cim se oddeluji parametry. Implicitne je to mezera, takze pokud ji chces pouzit uvnitr hodnoty nejakeho argumentu, musis ji bud escapovat nebo dat cely string do uvozovek. That's all :) Hezky vecer, -jkt -- cd /local/pub && more beer > /dev/mouth
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python