stylistic notes:
class Score:These trailing underscores look like a habit from another language. They
def __init__(self, name_, score_):
self.name = name_
self.score = score_
are unneeded in Python; you can write:
class Score:
def __init__(self, name, score):
self.name = name
self.score = score
That's an advantage of the explicit self: no ambiguity between local
variables and attributes.
try:This try/except block is unneeded too: what you do with the exception is
infile = open(filename, "r")
except IOError, (errno, strerror):
print "IOError caught when attempting to open file %s. errno = %d,
strerror = %s" % (filename, errno, strerror)
exit(1)
more or less the same as the regular behaviour (print an error message and
exit), except your error message is far less informative than the default
one, and printed to stdout instead of stderr. I would remove the entire
try/except block and just write:
infile = open(filename, "r")
HTH
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"