序列化:明显是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. legend2---开发日志11(如何提高终极开发效率)

    legend2---开发日志11(如何提高终极开发效率) 一.总结 一句话总结: 实在没必要摸索着做,直接学了做,用专门的东西来做,岂不是要省时省事很多.岂不美哉. 1.vue中的滚动字幕动画效果如何 ...

  2. sunset

    may there be enough clouds in your life to make a beautiful sunset

  3. C# T 泛型类,泛型方法的约束条件用法

    class A<T> where T:new() 这是类型参数约束,where表名了对类型变量T的约束关系.where T:A 表示类型变量是继承于A的,或者是A本省.where T: n ...

  4. ionic2使用cordova打包的环境搭建

    1.安装node.js(不用说了) 2.安装JDK(java的开发基础类库) 3.安装SDK(安卓开发集成包) 4.gradle( JAVA界的Weboack ,支撑app的编译,打包的流程) 5.安 ...

  5. wcf在post请求时,关于string类型参数传入中文的处理

    一.方法默认只有一个参数 (1)BodyStyle = WebMessageBodyStyle.Bare [OperationContract][WebInvoke(Method = "PO ...

  6. 爬虫(七)图片懒加载技术、selenium和PhantomJS

    动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding ...

  7. 【转】在Express项目中使用Handlebars模板引擎

    原文:http://fraserxu.me/2013/09/12/Using-Handlebarsjs-with-Expressjs/ 最近在用Expressjs做一个项目,前后端都用它来完成.自己之 ...

  8. .net core 2.0 webapi部署iis操作

    1.安装 .net core 2.0 runtime, (dotnet-runtime-2.0.7-win-x64.exe) https://www.microsoft.com/net/downloa ...

  9. SqlSugar GridView aspnetpager 分页排序

    HTML页面 <%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefi ...

  10. https环境搭建(本地搭建)

    1.创建自签名证书 2. 在iis中绑定https 先解析一个域名. 运行网站 示不安全,点击继续浏览即可.在实际的环境中,你拿到的是一个实际的证书,所以不会产生类似的报告安全证书有问题.