[Tutor] Need help appending data to a logfile
Dave Angel
davea at davea.name
Mon Jun 17 20:17:25 CEST 2013
On 06/17/2013 01:36 PM, Matt D wrote:
> Hey,
> I wrote some simple code to write data to a logfile and it works pretty
> well (thanks guys). Now my problem is that every time i run the program
> the old logfile.txt is overwritten. I need to be able to stop and start
> the program without overwriting, or losing, the old data. here is the
> relavent code:
>
> # central part of the program
> # lays out the GUI panel
> # omitted lots for our purposes here
> Class panel(wx.Panel):
>
> # open a file named "logfile.txt" in "w" writing mode.
> # this will create the file if it doesn't exist.
> self.logfile = open('logfile.txt', 'w')
>
> # Updates the TextCtrl field values
> # and logs TextCtrl field values
> def update(self, field_values):
>
> #logger code---------------
> #first write the CURRENT date/time
> self.logfile.write('%s,'%(str(strftime("%Y-%m-%d %H:%M:%S",
> gmtime()))))
> # loop through each of the TextCtrl objects
> for k,v in self.fields.items():
> #get the value of the current TextCtrl field
> f = field_values.get(k, None)
> if f:
> #output the value with trailing comma
> self.logfile.write('%s,'%(str(f)))
> self.logfile.write('\n')
> #end logger code ----------------
>
> In addition to not deleting the old data, it would be awesome to have
> some sort of wxPython widget that would give the user the ability to
> 'save as', or name and save the file, from the GUI panel.
> Thanks!
>
Clearly you didn't absorb or act on much of the advice from the last
time. So this time I'll just give you a brief hint.
Don't use write mode when opening the file. Find the docs on open(),
and see what other choices there are.
--
DaveA
More information about the Tutor
mailing list