『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()
将字符串转化为字典文件,示范在下文:
『Json』常用方法记录的更多相关文章
- 『Numpy』常用方法记录
numpy教程 防止输出省略号 import numpy as np np.set_printoptions(threshold=np.inf) 广播机制 numpy计算函数返回默认是一维行向量: i ...
- 『Os』常用方法记录
os.rename(name_old, name_new) 『Scrapy』爬取斗鱼主播头像 重命名函数os.rename比win下的重命名强多了,它可以对路径重命名达到修改文件位置的功效. os.p ...
- 『Scipy』常用方法记录
优化器使用教程 J = lambda wb: self.get_cost_grad(wb, X, Y_one_hot) theta = self.wb_init(X,Y_one_hot) result ...
- 『Glob』常用方法记录
glob.glob(file) 返回匹配的文件 glob.glob(./flower_photos/tulips/*.jpg) Out[1]:<br># ['./flower_photos ...
- 『Nltk』常用方法
引言 在nltk的介绍文章中,前面几篇主要介绍了nltk自带的数据(书籍和语料),感觉系统学习意义不大,用到哪里看到那里就行(笑),所以这里会从一些常用功能开始,适当略过对于数据本体的介绍. 文本处理 ...
- 『Networkx』常用方法
这是一个用于分析'图'结构的包,由于我只是用到了浅显的可视化功能,所以这个介绍会对其使用浅尝辄止. 解决matplotlib中文字体缺失问题, from pylab import mpl mpl.rc ...
- 『Re』正则表达式模块_常用方法记录
『Re』知识工程作业_主体识别 一个比较完备的正则表达式介绍 几个基础函数 re.compile(pattern, flags=0) 将正则表达式模式编译成一个正则表达式对象,它可以用于匹配使用它的m ...
- 『摄影欣赏』16幅 Romantic 风格照片欣赏【组图】
今天,我们将继续分享人类情感的系列文章.爱是人类最重要的感觉,也可能是各种形式的艺术(电影,音乐,书,画等)最常表达的主题 .这里有40个最美丽的爱的照片,将激励和给你一个全新的视觉角度为这种情绪.我 ...
- 『开源』Slithice 2013 服务器集群 设计和源码
相关介绍文章: <『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布> <『集群』001 Slithice 服务器集群 概述> <『集群』002 Sli ...
随机推荐
- python类方法、静态方法、实例方法例子
类方法,静态方法,普通方法 #coding=utf-8 class Foo: def __init__(self,name): self.name=name d ...
- 静默文件安装安装WebLogic
一. 本文演示静默文件方式安装 •在Windows上 –打开命令行窗口 –filename.exe -mode=silent -silent_xml=file_path •在 ...
- (六)最最基本的git操作
1.git init——初始化仓库 初始化成功的标志如下(.git默认为隐藏) 2.git status——查看仓库状态 ps:未跟踪的文件 (untracked files) 不妨在尝试在仓库建立一 ...
- ELK学习笔记之ELK架构与介绍
0x00 为什么用到ELK 一般我们需要进行日志分析场景:直接在日志文件中 grep.awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档.文本搜索太 ...
- Js删除字符串中的指定字符串
案例一. 比如:原字符串 var StringFirst = "12:30:08"; 现在要删掉冒号,变成123008 就可以先split var splitFirst = Str ...
- Android实验一(在Android Studio中创建项目和模拟器)
北京电子科技学院(BESTI) 实 验 报 告 课程:移动平台开发 班级:1592 姓名:苏泽楠 学号:20159207 成绩: 指导教师 ...
- ArchLinux For Arm 树莓派开机自启动脚本rc.local
今天折腾了下树莓派的迅雷固件,迅雷的安装很顺利,解压直接运行portal 就搞定了, 但是自启动就有问题了,由于新版的ArchLinux切换到systemd,不但rc.conf省了,连rc.local ...
- 记录Java中对url中的参数进行编码
Code: import java.net.URLEncoder; import java.util.HashMap; import java.util.Iterator; import java.u ...
- UVa 1614 奇怪的股市
https://vjudge.net/problem/UVA-1614 题意:输入一个长度为n的序列a,满足1<=ai<=i,要求确定每个数的正负号,使得所有数的总和为0. 思路:贪心部分 ...
- UVa 1471 防线
https://vjudge.net/problem/UVA-1471 题意:给出一个序列,删除一个连续子序列,使得剩下的序列中有一个长度最大的连续递增子序列,输出个数. 思路:首先可以计算出以i结尾 ...