pickle & json 模块

  • json,用于字符串 和 python数据类型间进行转换
  • pickle,用于python特有的类型 和 python的数据类型间进行转换

json模块提供了四个功能:dumps、dump、loads、load

pickle模块提供了四个功能:dumps、dump、loads、load

观察下面实例:

 import pickle

 data={'pj1':123,'pj2':"hello"}

 p_dumps=pickle.dumps(data)

 print('pickle_data: {} type_p_dumps:{}'.format(p_dumps,type(p_dumps)))

 p_loads=pickle.loads(p_dumps)
print('pickle_loads: {} type_p_loads:{}'.format(p_loads,type(p_loads))) import json j_dumps=json.dumps(data)
print('json_dumps: {},type_j_dumps:{}'.format(j_dumps,type(j_dumps))) j_loads=json.loads(j_dumps)
print('json_loads: {} type_j_loads:{}'.format(j_loads,type(j_loads)))

pickle & json

输出结果:

 pickle_data: b'\x80\x03}q\x00(X\x03\x00\x00\x00pj1q\x01K{X\x03\x00\x00\x00pj2q\x02X\x05\x00\x00\x00helloq\x03u.' type_p_dumps:<class 'bytes'>
pickle_loads: {'pj1': 123, 'pj2': 'hello'} type_p_loads:<class 'dict'>
json_dumps: {"pj1": 123, "pj2": "hello"},type_j_dumps:<class 'str'>
json_loads: {'pj1': 123, 'pj2': 'hello'} type_j_loads:<class 'dict'>

输出显示

pickle 中 dumps 方法得到的结果类型为 bytes!loads 方法传入的参数类型必须是 str !

json 中 dumps 方法得到的结果类型为 str! loads 方法传入的参数类型必须是 str !

原创不易,尊重版权。转载请注明出处:http://www.cnblogs.com/xsmile/

05-11 13:28