JSON和pickle和shelve模块
JSON和pickle区别在于:
JSON不能转换函数类等,但pickle可以进行转换,并且pickle也支持字典、列表等类型
JSON格式可以全语言通用方便阅读查看,pickle格式只支持python使用
shelve跟pickle类似,但shelve可以生成一个字典对象,根据字典对象进行操作
import json data = {"name": 123} # 把字典转成JSON格式写入文件 f = open("json_text", "w") f.write(json.dumps(data)) f.close() # 把文件读取出来通过JSON转换成字典格式 f1 = open("json_text", "r") data = json.loads(f1.read()) print(data["name"]) f1.close() # 把字典转成JSON格式写入文件 f2 = open("json_text1", "w") json.dump(data, f2) f2.close() # 把文件读取出来通过JSON转换成字典格式 f3 = open("json_text1", "r") data1 = json.load(f3) print(data1["name"]) f3.close()
import pickle def f(): print("ok") # 把函数转换成pickle格式写入文件 f_pickle = open("pickle_text", "wb") f_pickle.write(pickle.dumps(f)) f_pickle.close() # 读取文件内容从pickle格式转换成函数地址,进行调用 f_pickle1 = open("pickle_text", "rb") data= pickle.loads(f_pickle1.read()) f_pickle.close() data()
import shelve f = shelve.open("shelve_text") # 写文件 f["name"] = "123" # 读文件内容 print(f.get("name"))