pickle是Python语言特定的序列化模块,序列化的内容只能是Python才能反序列化。

    示例:

    1. # coding: utf-8
    2. import pickle
    3. d = dict(name='Bob', age=20, score=88)
    4. fp = open('pickle.data', 'wb')
    5. pickle.dump(d, fp)

    输出:

    1. # coding: utf-8
    2. import pickle
    3. fp = open('pickle.data', 'rb')
    4. print(pickle.load(fp))

    输出:

    如果要把序列化搞得更通用、更符合Web标准,就可以使用模块。

    JSON

    Python内置的json模块提供了非常完善的Python对象到JSON格式的转换。

    1. json.dumps(obj) #序列化
    2. json.dump(obj, fp) #序列化到file-like Object(例如文件)里
    3. json.loads(str) #反序列化

    输出:

    1. {"age": 20, "name": "Bob", "score": 88}

    JSON表示的对象就是标准的JavaScript语言的对象,JSON和Python内置的数据类型对应如下: