[Tutor] Need help appending data to a logfile

Matt D md123 at nycap.rr.com
Mon Jun 17 19:36:05 CEST 2013


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!
-- 
Matt D
------------


More information about the Tutor mailing list