NEWB: how to convert a string to dict (dictionary)
duncan.booth at invalid.invalid
Thu May 25 09:46:44 CEST 2006
> Thanks. I didn't know eval could do that. But why do many posts say
> they want a solution that doesn't use eval?
Because it is a sledgehammer: capable of driving in nails or breaking
rocks. Most times people say 'I want to use eval' they are using it to
drive nails and something like 'getattr' would be more appropriate.
If you have a string which could have come from an untrusted source it can
be dangerous. Quite easily you can construct strings which will execute
arbitrary Python code.
e.g. If you are running an application on a web server and part or all of
the string has come from another system (which you don't necessarily
trust), then using eval could potentially do anything. Don't give people
you don't know a sledgehammer to use on your code.
More information about the Python-list