序列化模块注意点 json&pickle

 
dic = {'k1':'v1'}
print(type(dic),dic)
import json
str_d = json.dumps(dic)
print(type(str_d),str_d)

dic_d = json.loads(str_d)
print(type(dic_d),dic_d)

结果:

<class 'dict'> {'k1': 'v1'}
<class 'str'> {"k1": "v1"}
<class 'dict'> {'k1': 'v1'}

 

 

 

import json
dic = {'k1':'v1'}
f = open('fff','w',encoding='UTF-8')
json.dump(dic,f)
f.close()

f = open(file = 'fff',mode = 'r',encoding='UTF-8')
res = json.load(f)
f.close()
print(type(res),res)

 

结果:

<class 'dict'> {'k1': 'v1'}

并且生成一个文件,filename为fff,里面保存了一个dic

 json

----end----

 

 

import pickle
dic = {'k1':'v1','k2':'v2','k3':'v3'}
str_dic = pickle.dumps(dic)
print(str_dic)
dic2 = pickle.loads(str_dic)
print(dic2)

结果:

b'\x80\x03}q\x00(X\x02\x00\x00\x00k1q\x01X\x02\x00\x00\x00v1q\x02X\x02\x00\x00\x00k2q\x03X\x02\x00\x00\x00v2q\x04X\x02\x00\x00\x00k3q\x05X\x02\x00\x00\x00v3q\x06u.'
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}

 

 

 

import pickle
import time
struct_time = time.localtime(10000000)
print(struct_time)
f = open('pickle_file','wb')
pickle.dump(struct_time,f)
f.close()
f = open('pickle_file','rb')
struct_time2 = pickle.load(f)
print(struct_time2)

结果:

time.struct_time(tm_year=1970, tm_mon=4, tm_mday=27, tm_hour=1, tm_min=46, tm_sec=40, tm_wday=0, tm_yday=117, tm_isdst=0)
time.struct_time(tm_year=1970, tm_mon=4, tm_mday=27, tm_hour=1, tm_min=46, tm_sec=40, tm_wday=0, tm_yday=117, tm_isdst=0)

会生成一个文件.然而并看不懂文件里面写的什么

pickle

----end----

 

 

dumps&loads

序列化&反序列化(对内存操作)

 

dump&load

(对文件操作)


posted on 2018-09-06 23:45  偷悄悄的放个屁  阅读(117)  评论(0编辑  收藏  举报

导航