On Jan 22, 11:29 pm, Raymond Hettinger <[EMAIL PROTECTED]> wrote: > On Jan 22, 7:54 pm, Benjamin <[EMAIL PROTECTED]> wrote: > > > I writing writing a class to allow settings (options, preferences) to > > written file in a cross platform manner. I'm unsure how to go a about > > syncing the data to disk. Of course, it's horribly inefficient to > > write the data every time something changes a value, however I don't > > see how I can do it on deletion. I've read that __del__ methods should > > be avoided. So am I just going to have to force the client of my > > object to call sync when they're done? > > Lots of ways > 1. Try the atexit module > 2. Use a weakref callback So, I can keep a global list weakrefs to all the objects of my class that have been created. Then have the callback call sync on them? > 3. Embed a client callback in a try/finally. > 4. Or, like you said, have the client call a sync() method -- this is > explicit and gives the client control over when data is written. > > Raymond
-- http://mail.python.org/mailman/listinfo/python-list