Re: run a string as code?
- From: Gary Herron <gherron@xxxxxxxxxxxxxxxxxx>
- Date: Mon, 17 Jul 2006 17:48:28 -0700
py_genetic wrote:
py_genetic wrote:Yes, it works, but this is not a good place to use eval. Now that we see
mtbeedee@xxxxxxxxx wrote:
py_genetic wrote:For example each time this line is interpreted I would like to use the
How can you make python interpret a string (of py code) as code. ForThis might do it...
example if you want a py program to modify itself as it runs. I know
this is an advantage of interpreted languages, how is this done in
python. Thanks.
eval(source[, globals[, locals]]) -> valueprint eval.__doc__
Evaluate the source in the context of globals and locals.
The source may be a string representing a Python expression
or a code object as returned by compile().
The globals must be a dictionary and locals can be any mappping,
defaulting to the current globals and locals.
If only globals is given, locals defaults to it.
new value of the state var which is a global var. How can I force
state to be identified and used in this string.
r_table = h5file.root.state_raw_records.neg_records
r_table = eval("h5file.root.state_raw_records.neg_records") ??
r_table = h5file.root.eval("state")_raw_records.neg_records ?? eval is
not a part of root
dont think either of these is very logical? Any ideas? Possibly the
parser mod?
Got it!
tmp = "h5file.root."+state+"_raw_records.pos_records"
r_table = eval(tmp)
works great thanks for the help!
how you want to use it, we can find a *much* better way to do it.
If you want to lookup an attribute of an object, but the attribute name
is a string in a variable, then use getattr to do the lookup.
If in interpret your code correctly:
attrname = state + "_raw_records"
obj = getattr(h5file.root, attrname)
r_table = obj.pos_records
These, of course, could be combined into a single (but not necessarily
clearer) line.
Gary Herron
.
- References:
- run a string as code?
- From: py_genetic
- Re: run a string as code?
- From: mtbeedee@xxxxxxxxx
- Re: run a string as code?
- From: py_genetic
- Re: run a string as code?
- From: py_genetic
- run a string as code?
- Prev by Date: Re: Coding style
- Next by Date: Re: solving equation system
- Previous by thread: Re: run a string as code?
- Next by thread: New SourceForge project: Diet Python!!!
- Index(es):
Relevant Pages
|