Я тоже когда-то хотел создать такую тему, но подумав, решил пойти своим путем, тогда и появился этот класс:
import os
class Settings:
def __init__(self):
try:
f = open(u'c:\\data\\MyApp\\options.ini', 'rb')
self.__dict__ = eval(f.read())
f.close()
except (IOError, SyntaxError), (code, descr):
os.path.exists(u'c:\\data\\MyApp') or os.makedirs(u'c:\\data\\MyApp')
# default settings
self.__dict__ = {
'name': u'Charles',
'second_name': u'Chaplin'
}
def __setattr__(self, key, value):
self.__dict__[key] = value
try:
f = open(u'c:\\data\\MyApp\\options.ini', 'wb')
f.write(repr(self.__dict__))
f.close()
except IOError, (code, descr):
pass
Работать с ним проще простого, для этого сначало лишь нужно создать экземпляр
А потом обращаться к его атрибутам
print s.second_name
print s.name
При присвоении или изменении атрибута, программа автоматически все сохранит
s.second_name = u'John'
s.address = u'Some street'