pickled object, read and write..

hg hg at nospam.org
Sun Apr 22 09:39:31 EDT 2007

israphelr at googlemail.com wrote:

> Hi all.
> I have to put together some code that reads high scores from a saved
> file, then gives the user the opportunity to add their name and score
> to the high scores list, which is then saved.
> Trouble is, I can't tell the program to read a file that doesn't
> exist, that generates an error.
> So I must have a file created, problem HERE is everytime the program
> is run, it will overwrite the current list of saved high scores.
> Advice would be much appreciated.

You can run this small script a few times to see that the file does not get


import shelve

class Grades:
    def __init__(self):
        self.GRADES = 'GRADES'
        self.m_gdb = shelve.open('MYGRADES.dat')

            self.m_grades = self.m_gdb[self.GRADES]
            self.m_grades = []
            self.m_gdb[self.GRADES] = self.m_grades


    def Add(self, p_grade):
        self.m_gdb = shelve.open('MYGRADES.dat')
        self.m_gdb[self.GRADES] = self.m_grades

    def Grades(self):
        return self.m_grades

l_o = Grades()
print l_o.Grades()
print l_o.Grades()

More information about the Python-list mailing list