python的json,pickle,shelve模块

时间:2025-03-14 21:19:16
1 import json import json # json内部没有单引号,全部转为双引号,最外层用单引号封装成字符串 dic={'name':'alex'}#---->{"name":"alex"}----->'{"name":"alex"}' i=8 #---->'8' s='hello' #---->"hello"------>'"hello"' l=[11,22] #---->"[11,22]" f=open("new_hello","w") # dumps 方式 得单独写入 dic_str=(dic) (dic_str) #dump 方式不用单独写入 (dic,f) f_read=open("new_hello","r") #loads 方式得先读出数据 data=(f_read.read()) #load 方式直接可以一步读出 data=(f) 12 # 总结: 13 # loads()与load 区别:load简单但只能用于文件,loads稍微复杂但应用广 #注意:json不必非要先dumps后loads import json with open("Json_test","r") as f: data=() data=(data) print(data["name"]) #----------------------pickle模块------- import pickle dic = {'name': 'alvin', 'age': 23, 'sex': 'male'} print(type(dic)) # <class 'dict'> j = (dic) print(type(j)) # <class 'bytes'> f = open('序列化对象_pickle', 'wb') # 注意是w是写入str,wb是写入bytes,j是'bytes' (j) # -------------------等价于(dic,f) () # # -------------------------反序列化 import pickle f = open('序列化对象_pickle', 'rb') data = (()) # 等价于data=(f) # print(data['age']) # # -------------------------shelve模块--------- import shelve # f = (r'shelve1') # 目的:将一个字典放入文本 f={} # f['stu1_info']={'name':'alex','age':'18'} f['stu2_info']={'name':'alvin','age':'20'} f['school_info']={'website':'','city':'beijing'} () print(('stu1_info')['age'])