On Wed, 18 Jan 2006 04:23:17 -0800, nephish wrote: > it isn't really that i will want to change it to an integer anyway. the > script uses a table to reference a value to a key, if the key is a > group of letters, that code tells the script to do something. if the > value is a number, it means an equipment failure. The thing is, all the > values come out as strings (they are read from a text file). > so what you put first with the try/except looks like my best answer.
def do_this(): print "Do this" def do_that(): print "Doing something else" code_table = { "abc": do_this, "def": do_that, "xyz": do_this } error_table = { "001": "Broken widget", "002": "Overloaded doohickey"} if code_table.has_key(value_from_hardware): code_table[value_from_hardware]() else: try: print error_table[value_from_hardware] except KeyError: raise CustomHardwareError("Unknown value!") -- Steven. -- http://mail.python.org/mailman/listinfo/python-list