[pyar] Cómo evito eval() en ésta situación?

Facundo Batista facundobatista en gmail.com
Mie Ago 17 14:15:09 ART 2016


On Wed, Aug 17, 2016 at 9:43 AM, Gabriel Acosta
<acostadariogabriel en gmail.com> wrote:

> Quiero deshacerme del uso de eval(), ésta porción de código implementa
> la operación `select` del álgebra relacional:
>
> ...
>
> r.header = ['id', 'name', 'age']
> r.add((1, 'Gabriel', 25))
> r.add((4, 'Alice', 43))
> r.add((54, 'Bob', 33))
> r.select("age > 35")

Si no es solo ">" sino que vas a implementar "todo el resto", yo
armaría un parser ad-hoc, con PLY: http://www.dabeaz.com/ply/

Slds.

.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
Twitter: @facundobatista


Más información sobre la lista de distribución pyar