# -_-@ coding: utf-8 -_-@ -- Python 常用模块和库介绍  第一部分:json模块介绍 import json  将一个Python数据结构转换为JSON:
dict_ = {1:2, 3:4, "55":"66"}
# test json.dumps  print type(dict_), dict_
json_str = json.dumps(dict_)
print "json.dumps(dict) return:"
print type(json_str), json_str  # json.dumps结果是字符串  

将一个JSON编码的字符串转换回一个Python数据结构# test json.loads
print "\njson.loads(str) return"
dict_2 = json.loads(json_str)
print type(dict_2), dict_2  # json.dumps结果是字典
json.dumps : dict转成str
json.loads:str转成dict以下信息原始地址:http://www.cnblogs.com/linjiqin/p/3674745.html  #-*-coding:utf-8-*- '''编码格式记得统一,不然容易出现中文乱码,推荐用utf-8'''import json##################json单对象##############################
#声明初始化一个变量
obj={'name':'张三', 'email':'ljq@gmail.com'}
print type(obj) #<type 'dict'>#字典转为json
#json_obj=json.dumps(obj)
json_obj=json.dumps(obj, ensure_ascii=False) #解决中文乱码
print type(json_obj) #<type 'str'>
print json_obj #{"name": "ljq", "email": "ljq@gmail.com"}#字符串转为json
str="{'name':'李四', 'email':'lisi@gmail.com'}"
#json_str=json.dumps(str)
json_str=json.dumps(str, ensure_ascii=False)
print json_str #"{'name':'张安', 'email':'ljq@gmail.com'}"#json转为字典
dict_obj=json.loads(json_obj)
#如果传入的对象的编码不一致的话,需要用encoding指定字符编码
#dict_obj=json.loads(json_obj, encoding="gbk")
print type(dict_obj) #<type 'dict'>
print dict_obj.get('name','')#json转为字符串
unicode_str=json.loads(json_str)
#unicode_str=json.loads(json_str,encoding = "gbk")
dict_str=eval(unicode_str)
print type(unicode_str) #<type 'unicode'>
print type(dict_str)
print dict_str.get('name', '') ## 如果是打印出来是乱码, 那就是原来的\xe6\x9d\x8e\xe6\x80\x9d 是 utf8格式的, 先要解码, 然后再编码展示 >>> print dict_str
{'name': '\xe6\x9d\x8e\xe6\x80\x9d', 'email': 'lisi@gmail.com'}
print dict_str.get('name','').decode("utf8").encode("gbk")
print dict_str.get('name','').decode("utf8").encode("gb2312")##################json数组##############################
arrays=[{'name':'zhangsan', 'age':10},{'name':'lisi', 'age':20},{'name':'wangwu', 'age':30}
]arrays_json=json.dumps(arrays)
print type(arrays_json) #<type 'str'>for obj in json.loads(arrays_json):#print type(obj) #<type 'dict'>print obj.get('age', '')##################django内置json---simplejson##############################
'''
import simplejson as json#几个主要函数:dump、dumps、load、loads,带s跟不带s的区别: 带s的是对 字符串的处理,而不带 s的是对文件对像的处理。json、simplejson效率比较:simplejson在效率上来得有优势,推荐用simplejson'''第二部分:urllib库介绍 import urllib # Python urllib 库提供了一个从指定的 URL 地址获取网页数据,然后对其进行分析处理,获取想要的数据

urllib.urlopen(url[,data[,proxies]])   打开一个URL的方法, 返回一个 "文件对象" urlopen 返回对象的方法主要有: 1. read(),readline(),readlines(),fileno(), close()
2. info(): 返回一个httplib.HTTPMessage对象, 远程服务器返回的头信息
3. getcode(): 返回http状态吗
4. geturl(): 返回请求的URL  重点实践 readlines(), info() 事件 f = urllib.urlopen('http://www.zhihu.com/')
firstline = f.readline() # 读取HTML的第一行
firstLine read() 将文件内容全部读出来放入一个而变量中,类型为字符串.
readline() 每次读一行,保存在一个变量中,类型为字符串.
readlines() 一次将全部的行读出来, 保存为一个列表,类型为列表.  第三部分: 解码和编码介绍 (decode 、 encode 介绍 )字符串在Python内部的表示是unicode编码,
通常需要以unicode作为中间编码,
即先将其他编码的字符串解码(decode)成unicode,
再从unicode编码(encode)成另一种编码 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串转换成unicode编码。encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串转换成gb2312编码。来源 http://www.cnblogs.com/linjiqin/p/3674745.html   s = '中文'
print type(s)
print s s1 = s.decode('utf8')   #解码utf8,默认的编码方式是unicode
print s1s2 = s.decode('utf8')  #解码utf8
print s2
s3 = s.decode('utf8','ignore') #解码utf8,忽略其中有异常的编码,仅显示有效的编码
s3 = s.decode('utf8','replace')
print s3 s4 = s1.encode('gb2312')   ##编码为utf8
print type(s4)
print s4 从unicode转str,被看做是把一个信息文本编码为二进制字节流的过程,要用encode方法第四部分:types模块 第五部分:创建一个类  

转载于:https://www.cnblogs.com/huiming/p/6006362.html

实战篇一 python常用模块和库介绍相关推荐

  1. python常用模块大全总结-常用python模块

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. python常用模块什么是模块? 常见的场景:一个模块就是一个包含了py ...

  2. 对于python来说、一个模块就是一个文件-python常用模块

    python常用模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用pyt ...

  3. Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略

    Python语言学习:Python常用自带库(imageio.pickle)简介.使用方法之详细攻略 目录 imageio简介及其常见使用方法 pickle简介及其常见使用方法 简介 使用方法 简介及 ...

  4. python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17)...

    原创文章,欢迎转载.转载请注明:转载自 IT人故事会,谢谢! 原文链接地址: 「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17) Appium是一个开 ...

  5. python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15)...

    原创文章,欢迎转载.转载请注明:转载自 IT人故事会,谢谢! 原文链接地址: 「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15) adb(Androi ...

  6. python用什么来写模块-Python常用模块——模块介绍与导入

    Python常用模块--模块介绍与导入 一.什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分 ...

  7. 「docker实战篇」python的docker爬虫技术-安卓模拟器(二)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:「docker实战篇」python的docker爬虫技术-安卓模拟器(二) 为什么要手机模拟器,如果有条件正好有不使用的安卓手 ...

  8. 吐血整理——python常用的第三方库——库名称简介

    python常用的第三方库--库名称简介(一) python常用的第三方库--库名称简介(一) python常用的第三方库--库名称简介(一) 库名称简介 文件处理 库名称简介 Chardet字符编码 ...

  9. Python 常用模块大全

    Python 常用模块大全(整理) OS 模块 #os模块就是对操作系统进行操作,使用该模块必须先导入模块: import os #getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在 ...

最新文章

  1. Winform中给DataGridView添加多选框列并获取选中行的内容
  2. Linux操作系统安装---centos6.7安装图文实例详解(完整版)
  3. 100w氮化镓充电器_SHARGE闪极-100W大功率氮化镓充电器体验
  4. mac自带录屏截图功能怎么使用?好用吗?
  5. thinkPhp5.1配置常量与输出
  6. jsp教师信息管理系统
  7. 国际化时区-北美时区介绍
  8. 【5G核心网】5GC核心网之网元NSSF
  9. 运用C语言指针知识实现对一个二维数组转置
  10. php随机产生4乘4矩阵,matlab函数rand:产生均匀分布的随机数或矩阵的函数
  11. Composer 简介和基本用法
  12. 趣图:看到网友晒了新抱枕,我也想换个新的了
  13. MATLAB有趣或有用小程序合集
  14. Oracle中add_months()函数的用法
  15. docker安装php xhprof扩展及使用方法
  16. 判断file是否存在的方法
  17. 江苏电信欢go重新定义宽带标准
  18. CTO作为过来人,给20、30岁年轻人的5个学习方法!​
  19. 【信号检测】基于matlab自适应滤波法微弱信号检测【含Matlab源码 2308期】
  20. 瑞星助手无法启动(小狮子)的解决方法

热门文章

  1. 鼠标点上去怎么那向上html,鼠标上去文字上移.html
  2. 【Java Web开发指南】Mybatis 中的延迟加载
  3. qt与mysql的增删改查_Qt数据库与QTableWidget结合的增删改查
  4. cisco 2960 VLAN MAC_思科交换机交换机中ip、mac地址绑定
  5. 你不知道的三种在for循环中使用setTimeout的方法
  6. 网络推广费用之你的文章标题优化“合格”了吗?
  7. 网络营销——网络营销专员浅析如何合理设置网站关键词密度
  8. 营销型网站吸引用户说难也难,说简单也简单
  9. 模板网站建设过程中需要注意哪些细节问题?
  10. c语言设计一个自动报警的程序,C语言程序设计试题(B卷)..doc