实战篇一 python常用模块和库介绍

# [email protected] coding: utf-8 [email protected] 

-- 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‘:‘[email protected]‘}
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": "[email protected]"}

#字符串转为json
str="{‘name‘:‘李四‘, ‘email‘:‘[email protected]‘}"
#json_str=json.dumps(str)
json_str=json.dumps(str, ensure_ascii=False)
print json_str #"{‘name‘:‘张安‘, ‘email‘:‘[email protected]‘}"

#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‘: ‘[email protected]‘}
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 s1

s2 = 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模块 

第五部分:创建一个类  
时间: 2024-10-01 02:55:43

实战篇一 python常用模块和库介绍的相关文章

python全栈开发【第九篇】Python常用模块一(主要是re正则和collections)

一.认识模块  什么是模块:一个模块就是一个包含了python定义和声明的文件,文件名就是加上.py的后缀,但其实import加载的模块分为四个通用类别 : 1.使用python编写的代码(.py文件) 2.已被编译为共享库二和DLL的C或C++扩展 3.包好一组模块的包 4.使用C编写并连接到python解释器的内置模块  为何要使用莫模块? 如果你想退出python解释器然后重新进入,那么你之前定义的函数或变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时,就通过python

python全栈开发【第十一篇】Python常用模块三(hashlib,configparser,logging)

hashlib模块 hashlib提供了常见的摘要算法,如md5和sha1等等. 那么什么是摘要算法呢?摘要算法又称为哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). 注意:摘要算法不是一个解密算法.(摘要算法,检测一个字符串是否发生了变化) 应涂:1.做文件校验 2.登录密码 密码不能解密,但可以撞库,用'加盐'的方法就可以解决撞库的问题.所有以后设置密码的时候要设置的复杂一点. #用户密码 import hashlib # md5

python全栈开发【第十篇】Python常用模块二(时间、random、os、sys和序列化)

一.time模块 表示时间的三种方式: 时间戳:数字(计算机能认识的) 时间字符串:t='2012-12-12' 结构化时间:time.struct_time(tm_year=2017, tm_mon=8, tm_mday=8, tm_hour=8, tm_min=4, tm_sec=32, tm_wday=1, tm_yday=220, tm_isdst=0)像这样的就是结构化时间 #time模块的常用方法及三种时间之间的转换 import time # 对象:对象.方法 # --------

python——常用模块2

python--常用模块2 1 logging模块 1.1 函数式简单配置 import logging logging.debug("debug message") logging.info("info message") logging.warning("warning message") logging.error("error message") logging.critical('critical message')

python 常用模块 time random os模块 sys模块 json &amp; pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess logging re正则 转自老男孩老师Yuan:http://www.cnblogs.com/yuanchenqi/articles/5732581.html 模块&包(* * * * *) 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,

python常用模块之time&amp;datetime模块

python常用模块之time&datetime模块 在平常的代码中,我们经常要与时间打交道.在python中,与时间处理有关的模块就包括:time和datetime,下面分别来介绍: 在开始之前,首先要说明有以下几种方式来表示时间: 1.时间戳 2.格式化的时间字符串(时间对象) 3.元组(struct_time)共九个元素,由于python的time模块实现主要调用C库,所以各个平台可能不同 几个定义 UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文

Python常用模块——模块介绍与导入

Python常用模块--模块介绍与导入 一.什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少了,很多编程语言都采用这种组织代码的形式. 在Python中,以个.py文件就可以称之为一个模块(Module). 二.使用模块有什么好处? 1.最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地

Python常用模块——第三方开源模块的安装使用

Python常用模块--第三方开源模块的安装使用 https://pypi.python.org/pypi是python的开源模块库,截止2019年4.30日 ,已经收录了175870个来自全世界python开发者贡献的模块,几乎涵盖了你想用python做的任何事情. 事实上每个python开发者,只要注册一个账号就可以往这个平台上传你自己的模块,这样全世界的开发者都可以容易的下载并使用你的模块. 如何从这个平台上下载模块呢? 1.直接在页面上点download,下载后,解压并进入目录,执行以下

Python常用模块——time&amp;datetime模块

Python常用模块--time&datetime模块 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime,calendar(很少用,不做介绍). 我们写程序时对时间的处理可以归为以下3种: 1.时间的显示:在屏幕显示,记录日志等. 2.时间的转换:比如把字符串格式的日期转换成Python中的日期类型. 3.时间的运算:计算两个日期间的差值等. 一.time模块 在Python中,通常有以下3种方式来表示时间: 1.时间戳(time