序列化:明显是json重要,并且应用场景多。

#!/usr/bin/env python
# coding:utf-8 import json
## 非常重要的模块,用于不同种编程语言间交换数据。 dic= {"name":'alex',"age":38,"desc":"金角大王"}
print(dic["name"]) data = json.dumps(dic) # 所有的单引号都会变成双引号,汉字会变
print(data)
print(type(data)) data2 = json.loads(data) # 还原为字典,需要原数据符合json规范
print(data2["desc"]) # 文件 处理
# with open('data.json', 'w') as f:
# json.dump(data2, f) # 写入文件,不需要write方法 #
# print("----------------------------------")
# # 读出文件
# with open('data.json', 'r') as f:
# data3 = json.load(f)
# print(data3) ## pickle和json的用法几乎一样, 功能是序列化。
## 参考:http://www.cnblogs.com/yuanchenqi/articles/5732581.html
import pickle pk = pickle.dumps(dic) # 字节序列化
print(pk) with open("pk.txt","wb") as f:
f.write(pk) with open("pk.txt","rb") as f:
fpk = pickle.load(f)
print(fpk)

shelve模块:

#!/usr/bin/env python
# coding:utf-8 import shelve # shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型
## 将一个字典存入文本
f = shelve.open(r"shelve2")
f['grp1'] = {'name':"jerry",'age':''}
f['grp2'] = {'name':"jerry",'age':''}
f['dept'] = {'dept.':"Admin",'group':'books'} f.close() # 取文件中的字典文本
f = shelve.open(r"shelve2")
print(f.get('dept'))
print(f.get('dept')["group"])

获取json格式天气数据,

#!/usr/bin/env python
# coding:utf-8 import requests,json rsp = requests.get("http://wthrcdn.etouch.cn/weather_mini?city=昆山")
rsp.encoding = 'utf-8'
# print(rsp.text) dic = json.loads(rsp.text) # 拿到对象的内容
print(dic)
print(dic['data']['city'])
print(dic['data']['forecast'][1]['date'])
print(dic['data']['forecast'][1]['high'])
print(dic['data']['forecast'][1]['fengli'])

python模块之json_pickle_shelve的更多相关文章

  1. 使用C/C++写Python模块

    最近看开源项目时学习了一下用C/C++写python模块,顺便把学习进行一下总结,废话少说直接开始: 环境:windows.python2.78.VS2010或MingW 1 创建VC工程 (1) 打 ...

  2. Python模块之configpraser

    Python模块之configpraser   一. configpraser简介 用于处理特定格式的文件,其本质还是利用open来操作文件. 配置文件的格式: 使用"[]"内包含 ...

  3. Python模块之"prettytable"

    Python模块之"prettytable" 摘要: Python通过prettytable模块可以将输出内容如表格方式整齐的输出.(对于用Python操作数据库会经常用到) 1. ...

  4. python 学习第五天,python模块

    一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py ...

  5. windows下安装python模块

    如何在windows下安装python模块 1. 官网下载安装包,比如(pip : https://pypi.python.org/pypi/pip#downloads) pip-9.0.1.tar. ...

  6. 安装第三方Python模块,增加InfoPi的健壮性

    这3个第三方Python模块是可选的,不安装的话InfoPi也可以运行. 但是如果安装了,会增加InfoPi的健壮性. 目录 1.cchardet    自动检测文本编码 2.lxml    用于解析 ...

  7. Python基础篇【第5篇】: Python模块基础(一)

    模块 简介 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就 ...

  8. python 模块加载

    python 模块加载 本文主要介绍python模块加载的过程. module的组成 所有的module都是由对象和对象之间的关系组成. type和object python中所有的东西都是对象,分为 ...

  9. pycharm安装python模块

    这个工具真的好好,真的很喜欢,它很方便,很漂亮,各种好 pycharm安装python模块:file-setting-搜索project inte OK

随机推荐

  1. LeetCode--034--在排序数组中查找元素的第一个和最后一个位置(java)

    给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果数组中不存在目标值,返回 [ ...

  2. 基于apache的虚拟主机

    apche支持3种类型虚拟主机: 基于IP的虚拟主机 基于端口的虚拟主机 基于主机名的虚拟主机 配置两个站点虚拟主机: /data/web1 /data/web2 一.基于IP虚拟主机 添加一个IP: ...

  3. python-Excel读取-合并单元格读取

    python-Excel读取-合并单元格读取(后续会补充python-Excel写入的部分) 1. python读取Excel单元格 代码包含读取Excel中数据,以及出现横向合并单元格,以及竖向合并 ...

  4. http请求requestUtils

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  5. java 32个Java面试必考点

    转:https://blog.csdn.net/werqerwer 一:https://blog.csdn.net/werqerwer/article/details/88061689  Java职业 ...

  6. linux-基础命令篇-02

    基本命令:--LS 关于显示的颜色含义: 白色:表示普通文件 蓝色:表示目录 绿色:表示可执行文件 红色:表示压缩文件 浅蓝色:链接文件 红色闪烁:表示链接的文件有问题 黄色:表示设备文件 灰色:表示 ...

  7. JS-3

    运算符 数学运算符 + - * / %(取模运算符) js内置一个对象叫Math,Math提供了很多关于计算的方法,常见的 // 随机数 console.log(Math.random()); // ...

  8. Spring、SpringMVC区别

    1. 为什么使用Spring ? 1). 方便解耦,简化开发 通过Spring提供的IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合. 2). AOP编程的 ...

  9. php使用gearman进行任务分发

    一.安装gearman 下载gearman源码包 1 https://launchpad.net/gearmand/+download 如: gearmand-1.1.12.tar.gz 下载php的 ...

  10. 操作日志的设计小结by大熊

    一.首先由同事的操作日志说起 同事做了一个这样的操作日志,他定义系统所有发的json加入这两个字段,module和msg,然后在service里面用注解@Log拦截,即可记录对应的操作日志. { mo ...