[python] eval, compile apod.

geon geon na post.cz
Úterý Červenec 26 21:55:57 CEST 2005


Petr Vaněk napsal(a):
> hezky vecer.
> 
> Mam takovou uvahu k zamysleni (cti: nevim, co s tim)
> v kontextu Python konzole (takovy to s >>> promptem ) mam definovanou funkci
> 
> def d():
>     return 1
> 
> kdyz pak zavolam
> eval(compile('d()', '<input>', 'exec'))
> 
> tak vsechno probehne, akorat ja nedostanu na konzolovy vyspup vubec nic. 
> Prestavoval bych si, ze by se zobrazila '1' - jako je v konzoli. 

Mozna jsem mimo, ale tohle *všechno* mi funguje:

eval('d()')
eval(compile('d()','<blablabla>','single'))
eval(compile('d()','<blablabla>','eval'))



-- 
geon
Vyjímka je pravidlo. Rekurzivní.



Další informace o konferenci Python