• Python 学习之路


    json、pickle

    用于序列化的两个模块

    • json,用于字符串 和 python基本数据类型间进行转换
    • pickle,用于python特有的类型 和 python的数据类型间进行转换

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

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

    json 用法:

     1 #序列化
     2 import json
     3 dic = {'k1':'v1'}
     4 print(dic,type(dic))
     5 #json.dumps 把python的基本数据类型转换成字符串形式
     6 result = json.dumps(dic)
     7 print(dic, type(result))
     8 
     9 #反序列化
    10 import json
    11 s1='{"k1":123}'
    12 #json.loads 把字符串形式转换成其他基本数据类型
    13 #注意: 反序列化时,中间字符串一定用“”表示,原因:跨语言操作时,其他语言是用“”表示字符串
    14 dic1 = json.loads(s1)
    15 print(dic1, type(dic1))
    16 
    17 #序列化并把内容写进文本
    18 li = [1,2,3,4,5]
    19 json.dump(li,open("test","w"))
    20 
    21 
    22 #从文本读出字符串并进行反序列化,但文件中的内容只能有一个基本数据
    23 li = json.load(open("test","r"))
    24 print(li,type(li))

    pickle 用法 同 json 一样,但pickle是将数据转换为只有python语言认识的字符串,有点像python语言的转译。并且pickle可以转换任意类型的数据(自定义类的数据类型),json只能转换基本数据类型。

    shelve

    shelve模块是一个简单的k,v将内存数据通过文件持久化保存的模块,可以持久化任何pickle可支持的python数据格式。

    shelve 模块相当于可以 load,dump文件中的内容多次。

    shelve序列化

    1 #shelve 模块相当于可以 load,dump文件中的内容多次
    2 import shelve
    3 
    4 s = shelve.open("test_shelve")
    5 s["name"] = "DaLian"
    6 s["neusoft"] = "HHH"
    7 s.close()

    shelve反序列化

    1 import shelve
    2 
    3 f = shelve.open("test_shelve")
    4 print(f.get("name"))
    5 print(f.get("neusoft"))
  • 相关阅读:
    UUID含义及ubuntu配置系统默认JDK
    MYSQL 问题小总结
    纯CSS3实现常见多种相册效果
    Docker Api 实测
    Dijkstra with priority queue 分类: ACM TYPE 2015-07-23 20:12 4人阅读 评论(0) 收藏
    hash值的计算与转换 分类: ACM TYPE 2015-05-07 17:49 36人阅读 评论(0) 收藏
    NYOJ
    进制转换函数 2015-02-15 09:41 32人阅读 评论(0) 收藏
    操作系统图解 2015-02-03 23:44 71人阅读 评论(0) 收藏
    [kuangbin带你飞]专题一 简单搜索
  • 原文地址:https://www.cnblogs.com/peiling-wu/p/6536259.html
Copyright © 2020-2023  润新知