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