zoukankan      html  css  js  c++  java
  • 『Json』常用方法记录

    json模块可以把字典结构改写为string然后保存,并可以反向读取字典

    pickle模块则可以持久化任意数据结构

    但是即使同样是字典数据结构,两个包也是有差别的,

    json字典value不支持其他对象只支持python原有的结构,但是json由于是转换为string,所以保存的文件是可以使用文本查看器去读取的

    pickle包则支持各种python的对象,但它写入的是二进制文件,并有自己独特的编码方式,所以是不可以查看的,只能使用python载入

    方法简介,

    dumps是将dict转化成str格式,loads是将str转化成dict格式。

    dump和load也是类似的功能,只是与文件操作结合起来了,需要文件流作为参数(句柄,注意一个对应r一个对应w),不常用这两个方法。

    dump需要一个类似于文件指针的参数(并不是真的指针,可称之为类文件对象),可以与文件操作结合,也就是说可以将dict转成str然后存入文件中;而dumps直接给的是str,也就是将字典转成str。

    json.dumps()

    操作将字典转化为str,而json.loads()做反向变换,

    它们和保存文件的尾缀.json没有关系:

    In [1]: import json
    In [2]: a = {'name': 'wang', 'age': 29}
    In [3]: b = json.dumps(a)
    
    In [4]: print b, type(b)
    {"age": 29, "name": "wang"} <type 'str'>
    
    In [11]: json.loads(b)
    Out[11]: {u'age': 29, u'name': u'wang'}
     
    In [12]: print type(json.loads(b))
    <type 'dict'>

    json.dumps()操作默认是ascii格式保存,一般中文字典会加上ensure_ascii=False:

    json.dumps(dict(item), ensure_ascii=False)
    

     json.loads()

    将字符串转化为字典文件,示范在下文:

    『Scrapy』爬取斗鱼主播头像

  • 相关阅读:
    UNO卡牌游戏—个人博客
    Java第09次实验(IO流)--实验报告
    UNO卡牌游戏—个人博客
    JAVA面向对象编程课程设计——UNO卡牌游戏
    Java——流、文件与正则表达式
    网络1911、1912 D&S第5次作业--批改总结
    java课程设计之--Elasticsearch篇
    C博客作业05--指针 批改总结
    树、二叉树、查找算法总结
    KMP算法的next/nextval值的个人理解
  • 原文地址:https://www.cnblogs.com/hellcat/p/7422099.html
Copyright © 2011-2022 走看看