How can I make a dictionary that marks itself when it's modified?

garabik-news-2005-05 at garabik-news-2005-05 at
Thu Jan 12 18:20:39 CET 2006

sandravandale at wrote:
> It's important that I can read the contents of the dict without
> flagging it as modified, but I want it to set the flag the moment I add
> a new element or alter an existing one (the values in the dict are
> mutable), this is what makes it difficult. Because the values are
> mutable I don't think you can tell the difference between a read and a
> write without making some sort of wrapper around them.
> Still, I'd love to hear how you guys would do it.

if the dictionary is small and speed not important, you can wrap it 
in a class catching __getitem__ and __setitem__ and testing
if repr(self) changes.

| Radovan Garabík |
| __..--^^^--..__    garabik @     |
Antivirus alert: file .signature infected by signature virus.
Hi! I'm a signature virus! Copy me into your signature file to help me spread!

More information about the Python-list mailing list