[Tutor] pickle.dump yielding awkward output

Spyros Charonis s.charonis at gmail.com
Mon Feb 4 12:12:22 CET 2013


Thank you Alan, Steven,

I don't care about the characters from the pickle operation per se, I just
want the list to be stored in its native format.

What I am trying to do is basically the Unix shell equivalent of: "Unix
command" > newfile.txt

I am trying to store the list that I get from my code in a separate file,
in human-readable format.


On Mon, Feb 4, 2013 at 1:03 AM, Alan Gauld <alan.gauld at btinternet.com>wrote:

> On 03/02/13 19:26, Spyros Charonis wrote:
>
>> I am experiencing a strange result with the pickle module when using it
>> to write certain results to a separate file.
>>
>
> The only strangec results using pickle would be if the uinpickle failed to
> bring back that which was pickled.
> Pickle is a storage format not a display format.
>
>
>  In short, I have a program that reads a file, finds lines which satisfy
>> some criteria, and extracts those lines, storing them in a list.
>>
>
> Extracting them with pickle I hope? That's the only thing that should be
> used to unpickle a pickled file.
>
>
>  The list of extracted lines looks like this:
>>
>> ATOM      1  N   GLN A   1      29.872  13.384  54.754  1.00 60.40
>>      N
>>
>> The output stored from the call to the pickle.dump method, however,
>> looks like this:
>>
>> (lp0
>> S'ATOM      1  N   GLN A   1      29.872  13.384  54.754  1.00 60.40
>>        N  \r\n'
>>
>
> Yep, I'm sure pickle can make sense of it.
>
>
>  Does anyone know why the strings lp0, S', aS' are showing up?
>>
>
> Because that's what pickle puts in there to help it unpickle it later.
>
> Why do you care? You shouldn't be looking at it (unless you want to
> understand how pickle works).
>
> pickle, as the name suggests, is intended for storing python objects
> for later use. This is often called object persistence in programming
> parlance. It is not designed for anything else.
>
> If you want cleanly formatted data in a file that you can read in a text
> editor or similar you need to do the formatting yourself or use another
> recognised format such as CSV or configparser (aka ini file).
>
> --
> Alan G
> Author of the Learn to Program web site
> http://www.alan-g.me.uk/
>
>
> ______________________________**_________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/**mailman/listinfo/tutor<http://mail.python.org/mailman/listinfo/tutor>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20130204/bf3901fa/attachment.html>


More information about the Tutor mailing list