[Python-ideas] eval_literal
Mahmoud Hashemi
mahmoud at hatnote.com
Mon Jun 13 18:18:19 EDT 2016
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 at 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 at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20160613/9c7bbbb9/attachment.html>
More information about the Python-ideas
mailing list