У меня есть устаревшая база данных, которая содержит простые структуры данных (без ссылок CODE, слава богу), которые были написаны с использованием метода nfreeze
модуля Storable
в Perl.
Теперь мне нужно загрузить эти данные в приложение Python. Кто-нибудь знает о реализации Python Storable
'thaw
? Google не помог мне.
Если до этого дойдет, я могу провести обратный инжиниринг формата данных из источника Storable , но я бы предпочел избежать этого веселья, если это уже сделано.
Чтобы выразить в коде: Для такой программы на Perl:
#!/usr/bin/perl
use strict;
use warnings;
use MIME::Base64;
use Storable qw/nfreeze/;
my $data = {
'string' => 'something',
'arrayref' => [1, 2, 'three'],
'hashref' => {
'a' => 'b',
},
};
print encode_base64( nfreeze($data) );
Я за magic_function
такой, что этот Питон:
#!/usr/bin/env python
import base64
import pprint
import sys
def magic_function(frozen):
# A miracle happens
return thawed
if __name__ == '__main__':
frozen = base64.b64decode(sys.stdin.read())
data = magic_function(frozen)
pprint.pprint(data)
печать:
{'string': 'something', 'arrayref': [1, 2, 'three'], 'hashref': {'a': 'b'}}
при запуске с выходом программы Perl.