json和pickle模块,两个都是用于序列化的模块
• json模块,用于字符串与python数据类型之间的转换
• pickle模块,用于python特有类型与python数据类型之间的转换
两个模块,都提供了dumps,dump,loads,load 4个功能
1 import json 2 s = ‘{"key1":"value1","key2":"value2"}‘ # ==> 用json模块将字符串转化成其他数据类型,字符串里出现引号必须用双引号 3 ret = json.loads(s) # ==> loads 由字符串转其他数据类型 4 print(ret,type(ret)) 5 6 ret = json.load(open(‘ethan.txt‘,‘r‘)) # ==> 将文档(内部是字符串格式)转换成python的其他数据类型 7 print(ret,type(ret)) # ==> 文档里是字典样式的字符串 8 9 l = ‘[11,22,3,56,75]‘ 10 result =json.loads(l) 11 print(result,type(result)) 12 # 总结: 13 # json.loads()用于将形似字典、列表、元组的字符串,转换成字典、列表、元组 14 # json.load() 用于将文档(内容是形似字典、列表、元组的字符串)转换成字典、列表、元组 15 16 di = {"key1":"value1","key2":"value2"} 17 ret = json.dumps(di) # ==> 将字典、列表、元组 转换成字符串格式 18 print(ret,type(ret)) 19 20 json.dump(di,open(‘ethan.txt‘,‘a+‘)) # ==> 将字典、元组、列表转换成字符串格式并写入文档 21 22 import pickle 23 24 d = {‘name‘:‘ethan‘,‘age‘:28} 25 ret = pickle.dumps(d) # ==> pickle将字典、元组、列表转换成二进制 26 print(ret,type(ret)) 27 28 l = [11,22,3,45,54] 29 res = pickle.dumps(l) 30 print(res) 31 32 pickle.dump(d,open(‘ethan.txt‘,‘ab‘)) # ==> 将字典、元组、列表转换成二进制写入文档 33 34 # 注意 dump load 不要一起运行,会报错,一步一步来 35 36 f = open(‘ethan.txt‘,‘rb‘) 37 r = pickle.loads(f.read()) # ==> 将二进制转换成字典、列表、元组 38 print(r)
时间: 2024-10-16 10:28:47