[python] omezeni globalniho slovniku
Visgean Skeloru
visgean na gmail.com
Pátek Březen 4 19:26:04 CET 2011
Taky mam pocit že každý týden je tu jeden mail na téma: jak použít
exec/eval, možná by to chtělo založit nějaké FAQ kde by bylo vyloženě
napsáno ať to dělají jinak, nebo rovnou odkazovat na starší vlákna... btw: v
souvislost s tím by možná nebylo na škodu opravit py.cz nebo to rovnou celé
redesignovat, slušilo by se mít na konferenci nějaký slušnější portál třeba
i s novinkami atp...
2011/3/4 Jirka Vejrazka <jirka.vejrazka na gmail.com>
> > 1. dá se nějak definovat globalní slovník na 'safe use' hodnoty?
> > chci třeba jen kafe a nechci definovat jiny slovník na použití
> > exec(script, my_globals, my_locals) čistě povolit jen něco.
>
> Neda. Python te pusti vsude. Existuji projekty ktere dokazaly omezit
> nektere funkce v namespace Pythonu, ale byly vetsinou zapomenuty
> (bastion) nebo za nimi stoji cele tymy a vede je Guido (Google
> AppEngine).
>
> Vypada to, ze se snazis pouzit kladivo tam, kde je potreba sroubovak
> (obrazne).
>
> > 2. Zde ošetruju jen NameError při skriptu který bude obsahovat neplatnou
> > proměnnou.Jde i nějak jinak zjistit jestli ten python skript je
> > platný? teda bez syntax error? eval() mi ho hazí neustále.
>
> Ano. Staci pouzit funkce Pythonu, tj. __import__() misto exec a eval.
>
> Uz s temito maily koncim, mam dost presvedcovani lidi, ze se snazi
> "znasilnit" Python.
>
> Jirka
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
--
PGP pub key:
http://keyserver.pgp.com/vkd/SubmitSearch.event?SearchCriteria=visgean%40gmail.com
http://www.abclinuxu.cz/lide/visgean/gpg
A453 B7F3 33D9 3BE6 2B8A | F014 5347 EBAC 0A5A 3E92
Jabber: visgean na jabber.org | visgean na jabber.cz
Github: http://github.com/Visgean
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20110304/8ae8bfc3/attachment.html>
Další informace o konferenci Python