[python] omezeni globalniho slovniku

Jirka Vejrazka jirka.vejrazka na gmail.com
Pátek Březen 4 13:03:06 CET 2011


> 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


Další informace o konferenci Python