Sheldon wrote: > MRAB wrote: > > Sheldon wrote: > > > Hi. > > > > > > Does anyone know if one can resume a python script at the error point > > > after the error is corrected? > > > I have a large program that take forever if I have to restart from > > > scratch everytime. The error was the data writing a file so it seemed > > > such a waste if all the data was lost and must be recalculated again. > > > > > You could modify the program while you're debugging it so that instead > > of, say: > > > > calculate data > > write data > > > > you have: > > > > if saved data exists: > > load data > > else: > > calculate data > > save data > > write data > > > > The pickle module would be useful here. > > > > Matthew > > I like your idea Matthew but I don't know how to pickle the many > variables in one file. Do I need to pickle each and every variable into > a seperate file? > var1,var2 > pickle.dump(var1,f) > pickle.dump(var2,f2) > Using the 'pickle' module:
# To store: f = open(file_path, "wb") pickle.dump(var1, f) pickle.dump(var2, f) f.close() # To load f = open(file_path, "rb") var1 = pickle.load(f) var2 = pickle.load(f) f.close() A more flexible alternative is to use the 'shelve' module. This behaves like a dict: # To store s = shelve.open(file_path) s["var1"] = "first" s["var2"] = [2, 3] s.close() # To load s = shelve.open(file_path) print s["var1"] # This prints "first" print s["var2"] # This prints [2, 3] s.close() Hope that helps Matthew -- http://mail.python.org/mailman/listinfo/python-list