Python入门(十七)——json pickle 复习

1 json模块

序列化:把对象从内存中变为可存储或可执行的内容的过程叫做序列化

先回顾eval()用法:

'''回顾eval'''
dic = {'name': 'zhao',
       'age': 27}
lst = [1, 2, 'zhao']

# # 字典-字符转换
s_dic = str(dic)
print(s_dic) #{'name': 'zhao', 'age': 27}
print(type(s_dic)) #<class 'str'>
dic = eval(s_dic)
print(dic) #{'name': 'zhao', 'age': 27}
print(type(dic)) #<class 'dict'>

#列表-字符相互转换
s_lst = str(lst)
print(s_lst) #[1, 2, 'zhao']
print(type(s_lst)) #<class 'str'>
dic = eval(s_lst)
print(lst) #[1, 2, 'zhao']
print(type(lst)) #<class 'list'>

将字典利用json格式存入文件,并读出


# 利用json方法将字典存入文件
with open('json_test_dic.txt', 'w') as f:
    dic = {'name': 'zhao', 'age': 27}
    # 将字典转为json格式存储
    date = json.dumps(dic)
    f.write(date)
with open('json_test_dic.txt', 'r') as f:
    date = f.read()
    dic = json.loads(date)
    print(dic) #{'name': 'zhao', 'age': 27}
    print(type(dic)) #<class 'dict'>

将列表利用json格式存入文件,并读出


# 利用json方法将列表存入文件
with open('json_test_lst.txt', 'w') as f:
    lst = ['name', 'zhao', 'age', 27]
    # 将字典转为json格式存储
    date = json.dumps(lst)
    f.write(date)
with open('json_test_lst.txt', 'r') as f:
    date = f.read()
    lst = json.loads(date)
    print(lst) #['name', 'zhao', 'age', 27]
    print(type(lst)) #<class 'list'>

将字典、列表混合数据利用json格式存入文件,并读出


# 测试写入混合数据(列表,字典)
with open('json_test_all.txt', 'w') as f:
    dic = {'name': 'zhao', 'age': 27}
    lst = ['name', 'zhao', 'age', 27]
    # 转为json格式存储
    date1 = json.dumps(dic)
    date2 = json.dumps(lst)
    f.write(date1)
    f.write('\n')
    f.write(date2)
with open('json_test_all.txt', 'r') as f:
    date1 = f.readline()
    date2 = f.readline()
    dic = json.loads(date1)
    lst = json.loads(date2)
    print(lst) #['name', 'zhao', 'age', 27]
    print(type(lst)) #<class 'list'>
    print(dic)  # {'name': 'zhao', 'age': 27}
    print(type(dic))  # <class 'dict'>

2 .dump() .load()方法:方便

import json

'''测试 .dump()'''
with open('dump_test', 'w') as f:
    dic = {'name': 'zhao', 'age': 24}
    json.dump(dic, f)
with open('dump_test', 'r') as f:
    dic = json.load(f)
    print(dic) # {'name': 'zhao', 'age': 24}
    print(type(dic)) #<class 'dict'>

3 pickle模块

可以处理函数和类,但是只在Python内通用,还没搞明白。
处理方式与json一模一样,也是dumps放数据,loads取数据


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值