python 常用模块 json
博客要坚持写,不然人很容易懒惰掉的,废话少说开始写博客了,每天进不一点点也是一种进步,相对不动也是一种退步。
# json 模块
json: 用于字符串 和 python数据类型间进行转换 ,是常用的序列化模块之一,什么叫序列化呢
序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes
json 模块的功能:dumps、dump、loads、load
文件存储是将内存里面的数据转变成字符串,非字符串类型的数据是不能直接存储的
# 示例说明,直接存储文件
#coding:utf-8 import json
f1 = open('test1.txt', mode='w') roles = { 'role': [ {'name': 'bob', 'job': 'IT'}, {'name': 'merry', 'job': 'Teacher'} ] } f1.write(roles) # error TypeError: write() argument must be str, not dict # 直接执行回报一下错误 f1.write(roles) # error TypeError: write() argument must be str, not dict TypeError: write() argument must be str, not dict
# 遇到这种错误 可以使用str 方法, 将字典转换为str
f1 = open('test1.txt', mode='w') roles = { 'role': [ {'name': 'bob', 'job': 'IT'}, {'name': 'merry', 'job': 'Teacher'} ] } # 使用str 方法,写入 f1.write(str(roles)) f1.close()
执行效果如下

# 读取文件
# 读取的时候使用 eval f1 = open('test1.txt', mode='r') read_str = f1.read() p_read = eval(read_str) print(p_read['role'][1], type(p_read))
执行效果如下

# 使用 json 模块存取文件 ,使用dumps 和loads
import json roles = { 'role': [ {'name': 'bob', 'job': 'IT'}, {'name': 'merry', 'job': 'Teacher'} ] }
# 写入文件
json_str = json.dumps(roles)
# 读取文件
json_dict = json.loads(json_str)
print(json_dict, type(json_dict))
执行效果如下

# 使用 json 模块存取文件 ,使用dump 和load
# 使用json 模块, 存文件 dump 和 load f5 = open('test1.json', 'w') son_str2 = json.dump(roles, f5)
查看存取的文件

读取文件
f6 = open('test1.json', 'r') new_dict2 = json.load(f6) print(new_dict2, type(new_dict2))
执行结果如下


浙公网安备 33010602011771号