On 26/06/13 04:30, Matt D wrote:
On 06/25/2013 01:54 PM, Alan Gauld wrote:
On 25/06/13 17:32, Matt D wrote:

          self.data = data
          with open('mypicklelog.txt','ab') as log: # open in binary mode
              pickle.dump(self.data, log) # serialize data and write to
file


And I still get nothing.

Define 'nothing'.

Does the file exist?
Does it have anything in it?
Does self.data exist - what does it look like if you print it?
Are there any error messages?

Yeh nothing as in an empty file.  The file is there but there is nothing
written in it.  self.data exists.  that the problem if have is printing
what is in it so i dont know what it looks like. No error messages
currently in the terminal.

The obvious test is to confirm that you can see other output written to the log 
file.

        self.data = data
        with open('mypicklelog.txt','ab') as log: # open in binary mode
            log.write('before\n')
            pickle.dump(self.data, log)
            log.write('after\n')


I still think it is silly to write pickled data to a log. Logs are for 
human-readable information, not arbitrary data. Even with text-mode pickle, 
it's still junk:

py> import pickle
py> data = {'a': None, 'b': 42}
py> pickle.dumps(data, 0)
"(dp0\nS'a'\np1\nNsS'b'\np2\nI42\ns."


Why do you want to see rubbish like that inside your log file? Surely something 
like this is better?

log.write("data = %r" % data)

which will give you a line like this:

data = {'a': None, 'b': 42}


in your log, which is a million times more understandable than a pickle.


--
Steven
_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to