On Sun, Aug 12, 2012 at 1:00 AM, Alan Gauld <alan.ga...@btinternet.com> wrote: > On 12/08/12 03:43, Richard D. Moores wrote: > >> =========== >> if "factors.dat": > > This is testing if the string is True, which it always is. > I assume you intended something like > > if os.path.exists('factors.dat'): > > >> f = open("factors.dat", 'rb') >> data = pickle.load(f) >> f.close >> D = data >> else: >> f = open("factors.dat", 'wb') > > > Not sure there is any point in opening a new file at this point. you are > trying to populate data, but if there's no file there is no data so instead > of opening the file you want something like data = {}
Great! OK, I now have ========================= D = {} if os.path.exists('factors.dat'): f = open("factors.dat", 'rb') data = pickle.load(f) f.close D = data else: f = open("factors.dat", 'wb') f.close =========================== Which takes care of the case where factors.dat is missing. But what about case where factors.dat is empty? Is there a test for that? When factors.dat exists, but is empty, I get ============================== Traceback (most recent call last): File "C:\P32Working\pickle_attempt_for_web3a.py", line 78, in <module> data = pickle.load(f) EOFError Process terminated with an exit code of 1 ============================== Dick _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor