json 和 pickle
用于序列化的两个模块
json:用于字符串和python数据类型间进行转换
pickle:用于python特有的类型和python的数据类型间进行转换
json模块提供了四个功能:dumps dump loads load
pickle模块提供了四个功能: dumps dump loads load
pickle实例:
1: import pickle
2: data = {'k1':123,'k2':'hello'}
3: # pickle.dumps将数据通过特殊的形式转换为只用python语音能识别的字符串
4: p_str = pickle.dumps(data)
5: print p_str
6: '''
7: 打印结果:
8: (dp0
9: S'k2'
10: p1
11: S'hello'
12: p2
13: sS'k1'
14: p3
15: I123
16: s.
17: '''
18: # pickle.dump 将数据通过特殊的形式转换为只有python语音认识的字符串,并写入文件
19: with open('E:/python/tmp/result.pk','w') as fp:
20: pickle.dump(data,fp)
json实例
1: import json
2: data = {'k1':123,'k2':'hello'}
3: # json.dumps 将数据通过特殊的形式转换为所有程序语言都认识的字符串
4: j_str = json.dumps(data)
5: print j_str
6: # 打印结果:{"k2": "hello", "k1": 123}
7: # json.dump 将数据通过特殊的形式转换为所有语言都认识的字符串,并写入文件
8: with open('E:/python/tmp/result.pk','w') as jp:
9: json.dump(data,jp)
ConfigParser
1: #!/usr/bin/env python
2: # -*- coding:utf-8 -*-
3: # 用于对特定的配置进行操作,当前模块的名称在 python 3.x 版本中变更为 configparser。
4: import ConfigParser
5: config = ConfigParser.ConfigParser()
6: config.read('goods.txt')
7:
8: # 获取模块的名称
9: secs = config.sections()
10: print secs
11: # 结果:['section1', 'section2']
12: # 获取指定模块的key值
13: options = config.options('section1')
14: print options
15: # 结果:['k1', 'k2']
16: # 获取指定模块下的items
17: item_list = config.items('section1')
18: print item_list
19: # 结果:[('k1', 'v1'), ('k2', 'v2')]
20: # 获取指定模块下的key的值
21: val = config.get('section1','k2')
22: print val
json 和 pickle的更多相关文章
- python模块(json和pickle模块)
json和pickle模块,两个都是用于序列化的模块 • json模块,用于字符串与python数据类型之间的转换 • pickle模块,用于python特有类型与python数据类型之间的转换 两个 ...
- python学习之day5,装饰器,生成器,迭代器,json,pickle
1.装饰器 import os import time def auth(type): def timeer(func): def inner(*args,**kwargs): start = tim ...
- python序列化模块json和pickle
序列化相关 1. json 应用场景: json模块主要用于处理json格式的数据,可以将json格式的数据转化为python的字典,便于python处理,同时也可以将python的字典或列表等对象转 ...
- python 序列化之JSON和pickle详解
JSON模块 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类 ...
- Python常用模块 (2) (loging、configparser、json、pickle、subprocess)
logging 简单应用 将日志打印到屏幕 import logging logging.debug('debug message') logging.info('info message') log ...
- Python 第五篇(上):算法、自定义模块、系统标准模块(time 、datetime 、random 、OS 、sys 、hashlib 、json和pickle)
一:算法回顾: 冒泡算法,也叫冒泡排序,其特点如下: 1.比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应 ...
- Python之数据序列化(json、pickle、shelve)
本节内容 前言 json模块 pickle模块 shelve模块 总结 一.前言 1. 现实需求 每种编程语言都有各自的数据类型,其中面向对象的编程语言还允许开发者自定义数据类型(如:自定义类),Py ...
- Python的json and pickle序列化
json序列化和json反序列化 #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = '人生入戏' import json a = ...
- Python中模块json与pickle的功能介绍
json & pickle & shelve 1. json的序列化与反序列化 json的使用需要导入该模块,一般使用import json即可. json的序列化 方法1:json. ...
- python序列化与反序列化(json与pickle)
在python中,序列化可以理解为将python中对象的编码格式转换为json(pickle)格式的字符串,而反序列化可以 理解为将json(pickle)格式的字符串转换为python中对象的编码格 ...
随机推荐
- Enable CSS active pseudo styles in Mobile Safari
http://alxgbsn.co.uk/2011/10/17/enable-css-active-pseudo-styles-in-mobile-safari/ document.addEventL ...
- AWT之—画图
package edu.ch4; import java.awt.Color;import java.awt.Font;import java.awt.Frame;import java.util.C ...
- 第十四周 P187教材检查
在IDEA中或命令行中运行P187 Guess.java. 这道题是继承语法抽象类一块的知识点,题目本身其实并不难,但是当时做的时候我找自己原来的代码花了很长时间,刚找到运行完截好图,就到时间了. 当 ...
- 20155224 《实验二 Java面向对象程序设计》实验报告
实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 没有Linux ...
- 20155320 《Java程序设计》实验五网络编程与安全实验报告
20155320 <Java程序设计>实验五网络编程与安全实验报告 实验内容 实验一 1.两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/67667 ...
- WPF中。。DataGrid 实现时间控件和下拉框控件
DatePicker 和新的 DataGrid 行 用户与 DataGrid 中日期列的交互给我造成了很大的麻烦. 我通过将一个 Data Source 对象拖动到 WPF 窗口上,创建了一个 Dat ...
- 【LG3973】[TJOI2015]线性代数
[LG3973][TJOI2015]线性代数 题面 洛谷 题解 正常解法 一大堆矩阵乘在一起很丑对吧 化一下柿子: \[ D=(A*B-C)*A^T\\ \Leftrightarrow D=\sum_ ...
- Yii2 Gridview 动态显示行或列和action列
我们知道Yii中的GridView组件是非常好用的. 某些情况要动态显示某列,这时候就要用到visible属性 'propString' => ['attribute' => 'prope ...
- 解析build.gradle文件
Gradle是一个非常先进的项目构建工具,它使用了一种基于Groovy的领域特定语言DSL来声明项目设置,摒弃了传统XML(如Ant和Maven)的各种繁琐配置 项目结构如上图: 1.最外层目录下的b ...
- 用Python实现多站点运维监控
在小型公司里如果产品线单一的话,比如就一个app, 一般1~2个运维就够用了.如果产品过于庞大,就需要多个运维人员. 但对于多产品线的公司来说,运维人员就要必须分多个人负责,因为超过200个站点让1个 ...