ConfigParser Problem-Daten werden nicht in Datei geschrieben
Verfasst: Mittwoch 5. Juli 2006, 09:07
Hi! Ich hab da mal ein kleines Problem, und zwar hab ich untenstehende Function geschrieben. Wenn ich's laufen lasse, wird die INI-Datei auch erzeugt - nur ist die immer leer, die neuen Sections werden einfach nicht erzeugt. Was mich wirklich stutzig macht, ist das Verhalten beim wiederholten Aufrufen der Funktion. Beim ersten Durchgang gibt das "print self.config.has_section(npcname)" wie erwartet False aus. Allerdings wird bei allen weiteren Aufrufen immer True ausgegeben - obwohl in der INI-Datei am Ende nichts drin steht. Irgendeine Ahnung, wo das Problem liegen könnte?
Im Vorraus schon mal danke.
Im Vorraus schon mal danke.
Code: Alles auswählen
def CheckIniFile(self,event):
"""Compare data in profiles.ini to actual save games and update as needed."""
if (not os.path.exists(self.profileIni)) or (not os.path.isfile(self.profileIni)):
inifile = open(self.profileIni,'a')
inifile.close()
del inifile
self.config.read(open(self.profileIni))
savesList=[]
for item in os.listdir(self.saveDir):
if '.ess' in item:
savesList.append(item)
for item in savesList:
save = open(os.path.join(settings['mwDir'],'Saves',item),'rb')
savestr = save.read()
countnpc = savestr.count('NPC_')
counter = 0
start = 0
start2 = 0
while counter<countnpc:
start = savestr.find('NPC_',start,len(savestr))+20
save.seek(start)
length = struct.unpack('i',save.read(4))[0]
npcid = save.read(length)
if npcid == 'player\x00':
start2 = savestr.find('FNAM',start,len(savestr))+4
save.seek(start2)
length = struct.unpack('i',save.read(4))[0]
npcname = save.read(length)
print item
print npcid
print npcname
print self.config.has_section(npcname)
print '\n'
if not self.config.has_section(npcname):
self.config.add_section(npcname)
self.config.set(npcname, 'Status', 'Not Hidden')
options = self.config.items(npcname)
if not item in options:
self.config.set(npcname,'Save File '+str(len(options)/2),item)
counter+=1