recover a partly destroyed pickled structure

Maurizio Berlusconi maurizio437 at hotmail.com
Sat Sep 25 19:06:01 CEST 2004


Hi all

I have (my mistake) overwritten the beginning of a file where a long
dictionary was pickled with another (pickled and much smaller) dictionary.
Since only 10% or so of the original and important data was overwritten, I
would be happy if I could somehow recover at least the part that I can
still see.

The situation is now the following. If I open the file in vi I can see :

(dp0
S'011'
p1
(dp2
S'profile'
p3
(lp4
F3.125
aF5.625
aF8.59375
...
#uninteresting data
...
p460
sg36
g6
sg37
S'0:00'
p461
sg39
(lp462
sg41
g6
ss. #after that line starts the data I need
aF10.0
aF10.3125
aF8.125
aF4.84375
aF4.21875
aF5.9375
....# all data is here until the end
g4
sg215
S'12:26'
p3376
ss.
# end of old important data

Can anybody give an indication on how to do that? I tried to understand
how pickle puts these numbers on the different fields and remove the
unimportant beginning of the file to replace it with something that would
allow to unpickle the data, but did not really succeed. Read the
source (and understand it) is far beyond my python skills...

Any hint or pointer would be appreciated.

Regards, 

Maurizio 



More information about the Python-list mailing list