python3自带的有pickle模块,而python2中为Cpickle,pickle模块的主要作用是将数据结构化存储:
一个字典a = {'name':'Tom','age':22},用pickle.dump存到本地文件,所存数据的结构就是字典,而普通的file.write写入文件的是字符串。读取时,pickle.load返回的是一个字典,file.read返回的是一个字符串。如下代码:
import
pickle
a
=
{
'name'
:
'Tom'
,
'age'
:
22
}
with
open
(
'text.txt'
,
'wb'
) as
file
:
pickle.dump(a,
file
)
with
open
(
'text.txt'
,
'rb'
) as file2:
b
=
pickle.load(file2)
print
(
type
(b))
得到的b的类型是字典,b和a是等价的,也就是说pickle可以把字典、列表等结构化数据存到本地文件,读取后返回的还是字典、列表等结构化数据。而file.write、file.read存取的对象是字符串。