python pickle模块实现了基本的数据序列和反序列化

* write.py

#!/usr/bin/env python3
import pickle

data = {'a': [1, 2.0, 3, 4+6j],
         'b': ('string', u'Unicode string'),
        'c': None}

l = [1,2,3]
l.append(l)

output = open('data.pkl', 'wb')
pickle.dump(data, output)
pickle.dump(l, output, -1)

output.close()

 => data.pkl

\200^C}q^@(X^A^@^@^@bq^AX^F^@^@^@stringq^BX^N^@^@^@Unicode stringq^C\206q^DX^A^@^@^@cq^ENX^A^@^@^@aq^F]q^G(K^AG@^@\
^@^@^@^@^@^@K^Ccbuiltins
complex
q^HG@^P^@^@^@^@^@^@G@^X^@^@^@^@^@^@\206q        Rq
eu.\200^D\225^M^@^@^@^@^@^@^@]\224(K^AK^BK^Ch^@e.

* read.py

#!/usr/bin/env python3
import pprint, pickle

pkl_file = open('data.pkl', 'rb')

data1 = pickle.load(pkl_file)
pprint.pprint(data1)

data2 = pickle.load(pkl_file)
pprint.pprint(data2)

pkl_file.close()

$ python3 read.py
{'a': [1, 2.0, 3, (4+6j)], 'b': ('string', 'Unicode string'), 'c': None}
[1, 2, 3, <Recursion on list with id=140307061883784>]

猜你喜欢

转载自blog.csdn.net/fareast_mzh/article/details/82050283