Hi, I'm guessing you want to do something like this
>>> fo = file("test.pkl", "w") >>> pickle.dump([1,2,3,4], fo) >>> pickle.dump([5,6,7,8], fo) >>> fo.close() >>> fi = file("test.pkl") >>> pickle.load(fi) [1, 2, 3, 4] >>> pickle.load(fi) [5, 6, 7, 8] >>> pickle.load(fi) Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> pickle.load(fi) File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pickle.py", line 1370, in load return Unpickler(file).load() File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pickle.py", line 858, in load dispatch[key](self) File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pickle.py", line 880, in load_eof raise EOFError EOFError You will need to handle the EOFError in a try catch block. maybe def pickledobjects(f): try: while True: yield pickle.load(f) except EOFError: pass objs = list(pickledobjects(file("fi"))) Though, is this isn't a large amount of data, I'd recommend just storing the data in a single object and writing that to the file. On Wed, Oct 7, 2009 at 1:14 PM, Aneesh A <aneesh...@gmail.com> wrote: > Hi friends, > I am new to python world. I am doing a small python game ( command line > based). The problem is: > > I have to store high scores, so i pickled a list . after pickling, in > append mode, load method loads only first object. > > How to retrieve multiple objects?? > > I am attaching a source. > > Look the alpha. > > -- I am but a man.
_______________________________________________ BangPypers mailing list BangPypers@python.org http://mail.python.org/mailman/listinfo/bangpypers