TK Soh wrote: > I ran into strange problem with my program that uses the shelve module > to maintain program settings, which later turned out to be caused by > the corrupted shelve data. It looks like the shelve module itself is > not capable of detecting the data corruption. I wonder if there's > anything we can do to address this issue.
What would you have it do? If data integrity is critical for you, you could run a checksum or an MD5 digest of the shelve data and store that with the data. That way, you can at least tell whether the shelve was compromised. How was the shelve damaged? Are humans trying to edit the data by hand? If so, perhaps you should write it in a more human-readable format. For example, you can "pprint" a dictionary, and then restore it with "eval" (assuming you are prepared for security issues). Or, you could use XML to save your settings. Or, you could create your own format. I often use the Windows .INI style, because it is simple to create and simple to parse: [GlobalSettings] DebugLevel = 6 DebugPrefix = "MyApplication" [UserSettings] Color = 0xffddee etc. -- Tim Roberts, [EMAIL PROTECTED] Providenza & Boekelheide, Inc. _______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32