converting a string to a function parameter
Chris Rebert
clp2 at rebertia.com
Fri Mar 13 04:01:34 EDT 2009
On Fri, Mar 13, 2009 at 12:52 AM, koranthala <koranthala at gmail.com> wrote:
> Hi,
> Is it possible to convert a string to a function parameter?
> Ex:
> str = 'True, type=rect, sizes=[3, 4]'
> and I should be able to use it as:
> test(convert(str)) and the behaviour should be same as calling test
> with those values :
> i.e. test(True, type=rect, sizes=[3, 4])
>
> I tried eval, but it did not work. And any other mechanism I think
> turns out to be creating a full fledged python parser.
>
> Is there any mechanism with which we can do this straight away?
Firstly, don't use `str` as a variable name since it conflicts with
the name of the builtin type.
Now here's how to use eval() properly:
[insert standard 'eval() is EVIL!' warning/lecture here]
eval("test("+the_str+")")
or
eval(test.__name__+"("+the_str+")")
Cheers,
Chris
--
I have a blog:
http://blog.rebertia.com
More information about the Python-list
mailing list