序列化:明显是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. vlog.hpp

    //vov #ifndef VLOG_HPP #define VLOG_HPP #include <sys/time.h> #include <unistd.h> #ifnde ...

  2. 给echart初始化的dom节点绑定时间获取点击的值渲染省市区

    this.drawMap().on('click', function (params) { var province = params.name; that.mapStatus = province ...

  3. 如何在Ubuntu 18.04上安装Pip

    一.简介: Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理. 在Ubuntu 18.04上缺省没有安装Pip,但安装非常简单. ...

  4. Bubble sort of sorting algorithm

    Bubble sort,It's a relatively basic algorithm.The core implementation ideas are as follows: 1.Define ...

  5. python两个列表合并为字典,一个作为key,一个作为value

    两个列表合并为一个字典函数list_dic(list1,list2)可以直接复制拿走 传入的参数为两个列表,list1准备作为key,list2准备作为value,key和value位置一一对应. d ...

  6. java,优先队列的用法

    像C++语言一样,java中,也有包装好的优先队列类PriorityQueue. 用法如下(模板代码): 工作安排问题: 问题描述:设有n件工作分配给n个人,将工作i分配给第j个人所需的费用为cij. ...

  7. PHP类的反射和依赖注入

    /** * Class Point */ class Point { public $x; public $y; /** * Point constructor. * @param int $x ho ...

  8. rpc概念及nfs的基本应用

    NFS:Network File System NFS监听在TCP/UDP:2049端口: nfs服务器: [root@localhost ~]#yum -y install [root@localh ...

  9. [BZOJ1596]电话网络

    Problem 给你一棵树,可以在每个点上选择造塔或不造,每座塔可以覆盖这个节点和相邻节点,问覆盖整棵树的最小塔数. Solution 看到这道题的第一眼,我就觉得是一题贪心题,但看见出题的时候分类在 ...

  10. laravel(lumen)配置读写分离后,强制读主(写)库数据库,解决主从延迟问题

    在Model里面加上下面这句,强制读主(写)库数据库,解决主从延迟问题. public static function boot() { //清空从连接,会自动使用主连接 DB::connection ...