python3学习之序列化

发布时间:2019-09-26 07:33:19编辑:auto阅读(1877)


    其他-->字符串,叫序列化

    字符串-->其他,叫反序列化

    有两个模块:

    json   可以处理python基本数据类型,字典,列表,元组,保存的文件是“明文的”

    pickle 可以处理python全部数据类型,专用于python,保存的文件是“加密的”


    json

    import json
    
    l = '{"a":123,"b":234}'
    
    ll = json.loads(l)   #从变量加载字符串转为词典;json格式的数据必须是键值对;  python-> json
    print(ll,type(ll))
    
    s = json.dumps(ll)   #将json格式的变量转换为python;   json-> python
    print(s,type(s))
    
    op = open("t.log","r")
    r = json.load(op)  #从文件加载
    print(r,type(r))
    
    op1 = open("tt.log", "a")
    json.dump(ll, op1)  #写入到文件

    pickle

    import pickle   #读写都是字节即:wb或者rb
    
    
    l = 'aaaaaaaaa'
    l1 = pickle.dumps(l)
    print(l1)
    
    ll = pickle.loads(l1)
    print(ll)
    
    pickle.dump(l1,open("ttt.log","wb"))  #写入文件,wb以字节写入
    pickle.load(open("ttt.log","rb"))     #读取文件,rb以字节读取   b很重要


关键字