zoukankan      html  css  js  c++  java
  • 大聊Python----json与pickle数据序列化

    用于序列化的两个模块

      json,用于字符串和python数据类型间进行转换

      pickle,用于python特有的类型和python的数据类型间进行转换

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

    那我们先来看看json怎么使用的吧!

    关于序列化操作,看看屌丝是怎么写的!

    ##序列化操作##
    
    info = {
        "name":"sutaoyu",
        "age" :"25"
    }
    
    f = open("text.text","w")
    f.write(str(info))    
    
    f.close()
    
    ##反序列化操作##
    
    f = open("text.text","r")
    
    data = eval(f.read())
    print(data["age"])
    f.close()

    text.text文件里的内容为:

    {'name': 'sutaoyu', 'age': '25'}

    反序列化操作的结果为:

    25

    下面看看大神是怎么装逼的!

    ##序列化##
    
    import json
    info = {
        "name":"sutaoyu",
        "age" :"25"
    }
    
    f = open("text.text","w")
    f.write( json.dumps(info) )
    
    f.close()
    
    ##反序列化##
    
    import json
    f = open("text.text","r")
    
    data = json.loads(f.read())
    print(data["age"])
    f.close()

    反序列化操作的结果为:

    25

    是不是觉得程序很简单啊?

    那就玩个大的!pickle模块!

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

    ## 序列化 ##
    
    import pickle
    
    def sayhi(name):
        print("hello,",name)
    
    info = {
        "name":"sutaoyu",
        "age" :"25",
        "func":sayhi
    }
    
    f = open("text.text","wb")
    f.write( pickle.dumps(info) ) # f.write(pickle.dumps(info)) == pickle.dump(info,f)
    
    f.close()
    
    ## 反序列化 ##
    
    import pickle
    
    def sayhi(name):
        print("hello,",name)
    
    f = open("text.text","rb")  # rb 处理的是 二进制 ,r 处理的是 字符串
    
    data = pickle.loads(f.read())  # data = pickle.loads(f.read()) == pickle.load(f) 

    # print(data)

    print(data["age"])

    print(data["func"]("Alex"))
    f.close()

    反序列化得出的结果为:

     25

    hello, Alex
    None

  • 相关阅读:
    死循环(endless loop)
    while循环和do-while循环语句
    99乘法表(for循环嵌套)
    代码块和作用域
    Break语句和Continue语句
    习题两则的简化(利用for循环)
    for循环语句
    条件判断语句(if-else)
    习题两则(自增操作符和数据类型相关知识点)
    字符集、编码和字符串
  • 原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/9250226.html
Copyright © 2011-2022 走看看