On Sat, Dec 04, 2004, Alan Gauld wrote:
>> I'm having trouble understanding the difference between eval and
>exec.
>
>eval evaluates an *expression* - that is something that returns a
>value.
>
...
>Both are extremely dangerous functions from a security
>and maintenance/reliability pouint of view and should be
>used very rarely.

True enough, but useful upon occassion.  In particular I've had a
question on the back burner for a while.  Suppose I have a
dictionary of database instances, dbtables, keyed on table name,
and I want a general way of creating variables with the name of
the table so I'm not accessing the dictionary.  Would something
like this work:

# dbtables is already built
for table in dbtables.keys():
        exec("%s = dbtables['%s']" % (table, table))

Bill
--
INTERNET:   [EMAIL PROTECTED]  Bill Campbell; Celestial Software LLC
UUCP:               camco!bill  PO Box 820; 6641 E. Mercer Way
FAX:            (206) 232-9186  Mercer Island, WA 98040-0820; (206) 236-1676
URL: http://www.celestial.com/

My brother sent me a postcard the other day with this big satellite photo
of the entire earth on it. On the back it said: ``Wish you were here''.
                -- Steven Wright
_______________________________________________
Tutor maillist  -  [EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to