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.
The help() function in the interactive interpreter is a good tool hunt for help on features of functions and classes. For example: >>> help(open) Help on built-in function open in module __builtin__: open(...) open(name[, mode[, buffering]]) -> file object Open a file using the file() type, returns a file object. This is the preferred way to open a file. See file.__doc__ for further information. >>> help(file) Help on class file in module __builtin__: class file(object) | file(name[, mode[, buffering]]) -> file object | | Open a file. The mode can be 'r', 'w' or 'a' for reading (default), | writing or appending. The file will be created if it doesn't exist [...] > 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. This last request is a bit vague, and I'm not a wxPython user myself -- but the wx.FileSelector() function seems like a good start. Unfortunately the documentation I found is for the underlying C++ library: <http://docs.wxwidgets.org/stable/wx_dialogfunctions.html#wxfileselector> May layman's translation into wxPython: >>> import wx >>> app = wx.App() >>> wx.FileSelector("Save logfile as", flags=wx.FD_SAVE) [snip spurious warnings] u'/foo/bar.baz' # use that result for the actual saving. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor