当前位置 : 主页 > 编程语言 > python >

python 序列化

来源:互联网 收集:自由互联 发布时间:2021-06-25
序列化 1、json模块 2、pickle模块 3、shelve模块 #-----json模块----- #----将字典存储到文本dumps()方法 1 import json 2 3 # 实例1 dumps() 4 a = { ‘ name ‘ : ‘ dream ‘ , ‘ age ‘ : ‘ 18 ‘ } 5 a = json.dum

序列化

  1、json模块

  2、pickle模块

  3、shelve模块

#-----json模块-----

#----将字典存储到文本dumps()方法
 1 import json
 2 
 3 #实例1    dumps()
 4 a = {name:dream,age:18}
 5 a = json.dumps(a) #dumps 加载进去
 6 with open(json_test.json,w) as f:
 7     f.write(a)
 8     f.close()
 9 
10 #实例2    dump()
11 a = {name:dream,age:18}
12 with open(json_test2.json,w) as f:
13     json.dump(a,f)
14     f.close()

 

#------将文本读取loads()方法
 1 import json
 2 
 3 #实例1    loads()
 4 with open(json_test.json,r) as f:
 5     a = f.read()
 6     a = json.loads(a)
 7     print(a[name])  #dream
 8     f.close()
 9 #实例2    load()
10 with open(json_test2.json,r) as f:
11 
12     a = json.load(f)
13     print(a[name])  #dream
14     f.close()

 

#-----pickle模块-----

#Python内部数据转换
#将函数写入文本 dumps() 方法
1 import pickle
2 
3 def foo():
4     print(python)
5 
6 a = pickle.dumps(foo)
7 with open(pickle_test,wb) as f:
8     f.write(a)
9     f.close()

 

#将文本读取loads()
 1 import pickle
 2 
 3 def foo():   #需要将函数同时复制一份
 4     print(python)
 5 
 6 with open(pickle_test,rb) as f:
 7     a = f.read()
 8     a = pickle.loads(a)
 9     a()
10     f.close()

 

#-----shelve模块-----

 1 import shelve
 2 
 3 f = shelve.open(rshelve_test.txt)
 4 # r python源生字符串,D:\\abc.txt 容易在读取文件时容易产生歧义(报错无法读取)
 5 
 6 f[info]={name:yzz,age:26}
 7 f[shopping] = {name:dream,age:20}
 8 
 9 date = f.get(info) #获取文件内容
10 date1 =f.get(shopping)
11 print(date)
12 print(date1[name])
网友评论