You mean ast.literal_eval? https://docs.python.org/2/library/ast.html#ast.literal_eval

Mahmoud
https://github.com/mahmoud
http://sedimental.org

On Mon, Jun 13, 2016 at 3:13 PM, <jab@math.brown.edu> wrote:
(Riffing off some discussion in another thread, I had another idea I
wanted to throw out there.)

Given that Eval Really Is Dangerous[1], has something like this ever
been considered?:

>>> int(str(42))
42
>>> float(str(42.0))
42.0
>>> bool(str(False))  # :(
True
>>> eval_literal('42')
42
>>> eval_literal('42.0')
42.0
>>> eval_literal('False')  # :)
False
>>> eval_literal('', default=False)  # shout out to PEP 463 / Michael Selik
False

i.e. An extremely limited version of eval, possibly just for literals
or even literal atoms, that would make it safe?


[1] http://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/