import pickle from traceback import print_exc from PyQt4 import QtCore class Settings: fileName=None lines=[] def __init__(self, file='settings.txt'): self.fileName=file self.read() def get(self, name, default=None): for line in self.lines: if line[0:len(name)]==name: return line[len(name):].strip() return default def set(self, name, value): newvalue="%s\t%s"%(name,value) for i in xrange(len(self.lines)): line=self.lines[i] if line[0:len(name)]==name: self.lines[i]=newvalue self.write() return # new value to write self.lines.append(newvalue) self.write() def read(self): try: self.lines=[] f=open(self.fileName) while True: line=f.readline() if line=='': break self.lines.append(line) f.close() except: print_exc() def write(self): f=open(self.fileName, 'wb') for line in self.lines: f.write("%s\n"%(line)) f.close() settings=Settings() mpdSettings=Settings('%s/.mpdconf'%(QtCore.QDir.homePath()))