zoukankan      html  css  js  c++  java
  • json and pickie 序列化

    • json只能用于简单的数据类型,例如:字典啊,列表啊,字符串之类的,无法处理复杂的,例如带有函数的
    • json适用于所有的开发语言
    • dumps与loads只对应使用一次,若dumps多次,则loads出错
    • import json    json.dumps()   and json.loads()
    import json
    
    info = {
        "name":"alex",
        "age": 23
    }
    f = open("test.txt","w",encoding="utf-8")
    f.write(json.dumps(info))
    f.close()
    test1序列化
    import json
    
    f = open("test.txt","r",encoding="utf-8")
    data = json.loads(f.read())
    print(data)
    test1反序列化
    • import json    json.dump()   and json.load()
    import json
    
    info = {
        "name":"alex",
        "age": 23
    }
    f = open("test.txt","w",encoding="utf-8")
    json.dump(info,f) #相当于f.write(json.dumps(info))
    f.close()
    test2序列化
    import json
    
    f = open("test.txt","r",encoding="utf-8")
    data = json.load(f)#相当于data = json.loads(f.read())
    print(data)
    f.close()
    test2反序列化
    • import  pickle   处理复杂类型:只适用于python
    import pickle
    
    def func(name):
        print("name",name)
    info = {
        "name":"alex",
        "age": 23,
        "function":func
    
    }
    f = open("test.txt","wb")
    f.write(pickle.dumps(info))
    
    f.close()
    test3序列化
    import pickle
    def func(name):
        print("name",name)
        print("这里只保存了对应函数的名称,有相应的名称则能使用,里面的内容可以不同")
    
    f = open("test.txt","rb")
    data = pickle.loads(f.read())
    print(data)
    f.close()
    test3反序列化
  • 相关阅读:
    一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
    常用Flex 布局scss
    设置npm registry的几种方法
    JavaScript计算平方数的三种方法
    NPM 使用介绍
    x 的 y次幂科学计数法
    Docker 容器使用
    使用dos的tree命令输出文件夹树
    赣州(虔州)历史文化
    vue通过$ref获取不到元素样式?
  • 原文地址:https://www.cnblogs.com/cheng662540/p/8111457.html
Copyright © 2011-2022 走看看