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反序列化
  • 相关阅读:
    MySQL 字符串与时间操作函数
    Redis消息订阅,事务,modules
    Redis数据结构
    Redis数据类型String
    Redis
    网络协议原理和lvs三种模型,调度算法和keepalived
    TCP连接状态,SYNC_RECV,CLOSE_WAIT,TIME_WAIT
    arp_ignore和arp_announce
    JMH和Disrupter
    容器CopyOnWriteList,ConcurrentHashMap,ConcurrentSkipListMap,BlockingQueue
  • 原文地址:https://www.cnblogs.com/cheng662540/p/8111457.html
Copyright © 2011-2022 走看看