灵虚御风
醉饮千觞不知愁,忘川来生空余恨!

导航

 
""""""
"""
序列化
序列:字符串
序列化:其他数据类型转换成字符串的过程

写入文件的数据必须是字符串
基于网络传输的数据必须是二进制
{}

d = {'name':'jason'} 字典
str(d)

序列化:其他数据类型转成字符串的过程
反序列化:字符串转成其他数据类型

json模块(******)
所有的语言都支持json格式
支持的数据类型很少 字符串 列表 字典 整型 元组(转成列表) 布尔值


pickle模块(****)
只支持python
python所有的数据类型都支持
"""
import json

"""
dumps:序列化 将其他数据类型转成json格式的字符串
loads:反序列化 将json格式的字符串转换成其他数据类型

dump load
"""
# d = {'name':'jason'}
# print(d)
# res = json.dumps(d)# json格式的字符串 必须是双引号 >>>: '{"name": "jason"}'
# print(res,type(res)) # {"name": "jason"} <class 'str'>

# res1 = json.loads(res)
# print(res1,type(res1))

# d = {'name':'jason'}

# with open('userinfo','w',encoding='utf-8') as f:
# json.dump(d,f) # # 装字符串并自动写入文件

# with open('userinfo','r',encoding='utf-8') as f:
# res = json.load(f)
# print(res,type(res))

# with open('userinfo','w',encoding='utf-8') as f:
# json.dump(d,f) # 装字符串并自动写入文件
# json.dump(d,f) # 装字符串并自动写入文件

# with open('userinfo','r',encoding='utf-8') as f:
# res1 = json.load(f) # 不能够多次反序列化
# res2 = json.load(f)
# print(res1,type(res1))
# print(res2,type(res2))


# with open('userinfo','w',encoding='utf-8') as f:
# json_str = json.dumps(d)
# json_str1 = json.dumps(d)
# f.write('%s\n'%json_str)
# f.write('%s\n'%json_str1)


# with open('userinfo','r',encoding='utf-8') as f:
# for line in f:
# res = json.loads(line)
# print(res,type(res))
# t = (1,2,3,4)
# print(json.dumps(t))


# d1 = {'name':'朱志坚'}
# print(json.dumps(d1,ensure_ascii=False))


"""pickle"""

import pickle
d = {'name':'jason'}
res = pickle.dumps(d)# 将对象直接转成二进制
# print(pickle.dumps(d))
res1 = pickle.loads(res)
print(res1.type(res1))


"""
用pickle操作文件的时候 文件的打开模式必须是b模式
"""
# with open('userinfo_1','wb') as f:
# pickle.dump(d,f)

# with open('userinfo_1','rb') as f:
# res = pickle.load(f)
# print(res,type(res))

posted on 2022-03-24 17:47  没有如果,只看将来  阅读(16)  评论(0编辑  收藏  举报