序列化模块
# 序列化: 对象-> 字符串
# 反序列化: 字符串-> 对象
import json # dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, # allow_nan=True, cls=None, indent=None, separators=None, # default=None, sort_keys=False, **kw) # ensure_ascii:True,以ascii编码 # json.loads() # json.load(fp) fp 为文件句柄 # json.dump(obj, fp) 将obj序列化并保存 dic = {'k1':'中国','k2':'v2','k3':'v3'} str_dic = json.dumps(dic, ensure_ascii=False) print(type(str_dic), str_dic) # <class 'str'>, {"k3": "v3", "k1": "v1", "k2": "v2"} dic2 = json.loads(str_dic) print(type(dic2), dic2) # <class 'dict'> {'k1': 'v1', 'k3': 'v3', 'k2': 'v2'} with open('test.txt', 'w') as f: json.dump(dic, f)
import pickle # 用法与json一致, # pickle.dumps() # pickle.loads() # pickle.dump() 文件需要用wb或rb方式操作 # pickle.load()
import shelve f = shelve.open('test') f['key'] = {'k1':'中国','k2':'v2','k3':'v3'} f.close() f = shelve.open('test') a = f['key'] print(a) f.close()
浙公网安备 33010602011771号