Home  >  Article  >  Backend Development  >  A brief introduction to json and pickle in Python

A brief introduction to json and pickle in Python

黄舟
黄舟Original
2017-07-20 15:24:081431browse

The editor below will bring you a brief talk about json and pickle in Python. The editor thinks it’s pretty good, so I’ll share it with you now and give it as a reference. Let’s follow the editor and take a look.

These are the two modules used for serialization:

• json: Used to convert between strings and python data types

• pickle: Used for python-specific types and python data Convert between types

The Json module provides four functions: dumps, dump, loads, load

The pickle module provides four functions: dumps, dump, loads, load


import pickle
data = {'k1':123, 'k2':888}
#dumps可以将数据类型转换成只有python才认识的字符串
p_str = pickle.dumps(data)
print p_str
输出结果:
(dp0
S'k2'
p1
I888
sS'k1'
p2
I123
s.

Convert the data into a string recognized only by Python and write it to the file:


import pickle
data = {'k1':123, 'k2':888}
#打开文件,然后将data写入
with open('data.pkl', 'wb') as f:
 pickle.dump(data, f)
#同样读取的时候也需要打开文件
with open('data.pkl', 'rb') as f:
 data_1 = pickle.load(f)
print data_1
结果:
{'k2': 888, 'k1': 123}

文件中显示的内容与上面一致

The usage of json is the same as pickle


##

import json
data = {'k1':123, 'k2':888}
p_str = json.dumps(data)
print p_str, type(p_str)
结果:
{"k2": 123, "k1": 888} <type &#39;str&#39;>

Looks like a dictionary , but please note that this is actually a string, because json can only be in string format, it just looks like a dictionary.


import json
data = {&#39;k1&#39;:123, &#39;k2&#39;:123}
#打开文件,然后将data写入
with open(&#39;data.pkl&#39;, &#39;w&#39;) as f:
 json.dump(data, f)
#同样读取的时候也需要打开文件
with open(&#39;data.pkl&#39;, &#39;r&#39;) as f:
 data_1 = json.load(f)
print(data_1, type(data_1))
结果:
({u&#39;k2&#39;: 123, u&#39;k1&#39;: 123}, <type &#39;dict&#39;>)

can be read, and the type is correct.

What is the difference between pickle and json?

In the above two pieces of code, pickle uses the 'b' mode when writing and reading files, but json does not.

Json can exchange data between different languages, while pickle can only be used between python.

Json can only serialize the most basic data types, while pickle can serialize all data types, including classes and functions.

The above is the detailed content of A brief introduction to json and pickle in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn