根据某些规则,将内存数据保存到文件中时,文件是字节序列,因此必须将内存数据转换为字节序列,然后输出到文件,这就是序列化;反之,从文件的字节恢复到内存中时,则是反序列化;
json模块用于python中的序列化和反序列化。
json模块应用
dump 将编码结果保存到文件对象或流中
load 从网络或者磁盘中读取json数据,对其中的json数据解码,返回python数据
dumps 将编码的结果以字符串形式返回
loads 对其中的json数据进行解码,返回python数据
代码参照如下:
''' 序列化 ''' def dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw): obj: 需要序列化的对象 fp: 序列化到哪个文件中 ensure_ascii:当为false时,写入fp的字符串可以包含非ascii字符,当你的obj中含有中文,必须加上ensure_ascii=False indent:当为正整数时,代表缩进格数,美化打印,一般为4 sort_keys:如果为true,则字典将按键排序 ''' 反序列化 ''' def load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw):