[python] Mobilni python
superman
feed na centrum.cz
Pondělí Říjen 16 18:08:40 CEST 2006
> Soubor muzu hledat i tak, ze ho zkusim otevrit.
> Mohl bych sice udelat
>
> if access(cesta1):
> return open(cesta1)
> if access(cesta2):
> return open(cesta2)
> ...
>
> ale jsou to dve systemova volani (takze min efektivni)
> a navic mne muze ten soubor nekdo mezi access a open
> smazat, takze ten open stejne musim osetrit.
> Nevidim na tom nic spatneho.
Jenže python interpretr to v mém pokusu dělal takto:
open(cesta_z_registru + modul)
open(cesta_ze_systemoveho_adresare_windows + modul)
open(cesta_z_PYTHONPATH + modul)
if (se nepodarilo otevrit soubor z cesty z PYTHONPATH):
open(cesta_z_registru + modul)
if (se nepodarilo otevrit soubor z cesty z registru):
open(cesta_ze_systemoveho_adresare_windows + modul)
if (se nepodarilo otevrit soubor z cesty ze systemu win):
vyhod vyjimku importu
Coz je prakticky doslovny prepis jeho cinnosti pri hledani modulu a to
uz mi normalni fakt neprijde. Možná detaily byly malinko jinak, ale
pochopil jsem, že Python postupuje stylem nejdřív otevírej soubor a až
pak se zeptej, jestli ho vlastně vůbec chceš otevírat.
Miloslav Ponkrác
Další informace o konferenci Python