python内置模块(三)
hashlib模块
通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
Python2中使用hashlib:
import hashlib
m = hashlib.md5()
# m <md5 HASH object @ 0x0000000001E5C800>
src = "ling"
m.update(src)
print(m.hexdigest())
# 24c10be286b009f797d53126790fcfd8
Python3中使用hashlib:
import hashlib
m = hashlib.md5()
# m = hashlib.md5("123".encode("utf-8")) # 加入一个随机数
# m <md5 HASH object @ 0x0000000001E5C800>
src = bytes("ling",encoding="utf-8")
src1 = bytes("zhangsan",encoding="utf-8")
m.update(src)
m.update(src1)
print(m.hexdigest())
如果数据量很大,可以分块多次调用update()。
StringIO模块
有时候数据读写不一定是文件,也可以在内存中读写。StringIO就是在内存中读写str。
from io import StringIO
# StringIO只能存字符串 stringIO = StringIO()
stringIO.write("hello,world\n")
stringIO.write("hello,python")
print(stringIO.getvalue())
#hello,world
#hello,python
stringIO.truncate(0) # 清空所有写入的内容
stringIO.flush() # 刷新内部缓冲区
print(stringIO.getvalue())
#没有输出,内容已经被清空了
StringIO也可以像读取文件一样读取:
from io import StringIO
stringIO = StringIO("hello\nworld")
while True:
s = stringIO.readline()
if s == "":
break
print(s.strip())
BytesIO模块
from io import BytesIO
bytesIO = BytesIO()
bytesIO.write("中文".encode("utf-8"))
print(bytesIO.getvalue()) # 读取内容
from io import BytesIO
bytesIO = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')
bytesIO.read()
b'\xe4\xb8\xad\xe6\x96\x87'
Json模块
import json
test = '''[{"a":1, "aa":11, "aaa":111},{"b":2, "bb":22, "bbb":333}]'''
print(type(test)) # <type 'str'>
newTest = json.loads(test) # 把字符串转换成python对象
print(type(newTest)) # <type 'list'>
print(newTest[0]["a"]) #
针对python2乱码问题,使用json解决:
import json
a = dict(hello="你好")
print(a) # {'hello': '\xe4\xbd\xa0\xe5\xa5\xbd'}
print(a["hello"]) # 你好
print(json.dumps(a,ensure_ascii=False)) # 把python对象转换成字符串
# {"hello": "你好"}
对文件进行操作,文件和python对象相互转换:
import json
test = {"a":1, "b":2}
with codecs.open("1.txt","w") as f:
json.dump(test, f) # 把python对象写入文件
with codecs.open("1.txt","r") as f:
aa = json.load(f) # 把文件转换成python对象,aa是unicode类型
print(aa) # {u'a': 1, u'b': 2}
print(type(aa)) # <type 'dict'>
python内置模块(三)的更多相关文章
- python内置模块(4)
这一部分是python内置模块系列的最后一部分,介绍了一些小巧有用的内置模块. 目录: 1.random 2.shelve 3.getpass 4.zipfile 5.tarfile 6.bisect ...
- python内置模块[sys,os,os.path,stat]
python内置模块[sys,os,os.path,stat] 内置模块是python自带功能,在使用内置模块时,需要遵循 先导入在 使用 一.sys 对象 描述 sys.argv 命令行参数获取,返 ...
- python内置模块(time模块)
常用的python内置模块 一.time模块 在python的三种时间表现形式: 1.时间戳,给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. impor ...
- python 内置模块续(二)
目录 python 内置模块补充 1.hashlib模块 简易使用: 高级使用: 进阶使用: 加盐处理: 校验文件一致性 2.logging日志模块 日志等级 常用处理 "四大天王" ...
- Python内置模块(re+collections+time等模块)
Python内置模块(re+collections+time等模块) 1. re模块 import re 在python要想使用正则必须借助于模块 re就是其中之一 1.1 findall功能( re ...
- 学习Python的三种境界
前言 王国维在<人间词话>中将读书分为了三种境界:"古今之成大事业.大学问者,必经过三种之境界:'昨夜西风凋碧树,独上高楼,望尽天涯路'.此第一境也.'衣带渐宽终不悔,为伊消得人 ...
- selenium webdriver (python) 第三版
感谢 感谢购买第二版的同学,谢谢你们对本人劳动成果的支持!也正是你们时常问我还出不出第三版了,也是你们的鼓励,让我继续学习整理本文档. 感谢乙醇前辈,第二版的文档是放在他的淘宝网站上卖的,感谢他的帮忙 ...
- Python第三天 序列 数据类型 数值 字符串 列表 元组 字典
Python第三天 序列 数据类型 数值 字符串 列表 元组 字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...
- 简学Python第三章__函数式编程、递归、内置函数
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- 初学Python(三)——字典
初学Python(三)——字典 初学Python,主要整理一些学习到的知识点,这次是字典. #-*- coding:utf-8 -*- d = {1:"name",2:" ...
随机推荐
- [PY3]——Python的函数
Python函数总结图 1.调用 1.1 如何调用 1.1.1 函数名(传参) # 函数使用函数名来调用,函数名后紧跟一对小括号,小括号里传入函数定义时要求的参数 add(9,9) #9+9=18 ...
- Git——新手入门与上传项目到远程仓库GitHub
Git:先进的分布式版本控制系统,一个开源式的分布式版本控制工具. Git安装 在Windows操作系统下,访问Git下载地址https://git-for-windows.github.io/ 注册 ...
- JavaScript迭代
定义: 指的是按照某种顺序逐个访问列表中的每一项. 迭代在数学中的定义: 在循环的基础上, 每一次循环, 都比上一次更为接近结果. 循环定义:指的是在满足条件的情况下,重复执行同一段代码. 迭代方法: ...
- WPF实现夜间模式
背景 项目中设计了一个黑色主题,稍加改正也可作为夜间模式,效果图如下: 原理 由于项目中存在地图,而地图完全是由位图组成,不能直接改变背景色,所以我在内容上面放置了一个黑色的Border作为遮罩.可通 ...
- MapReduce详解和WordCount模拟
最早接触大数据,常萦绕耳边的一个词「MapReduce」.它到底是什么,能做什么,原理又是什么?且听下文讲解. 是什么 MapReduce 即是一个编程模型,又是一个计算框架,它充分采用了分治的思想, ...
- dubbo客户端源码分析(一)
rpc框架有很多,公司自研.开源的thrift.dubbo.grpc等.我用过几个框架,了解了一下实现原理,客户端基本都是用代理实现,jdk动态代理.cglib等.最近一段时间想了解一下dubbo源码 ...
- C#学习笔记-继承基本知识
namespace Inheritance { class Program { static void Main(string[] args) { Dog dog = new Dog(); dog.A ...
- python Tensorflow 实现图像的卷积处理
1.convolution.py import numpy as np from sklearn.datasets import load_sample_images import tensorflo ...
- js点击事件在苹果端失效的问题
在安卓机上,我们随意定义点击事件也能够在找到点击的元素,但是在苹果端上就是不行,怎么点击都没有效果.这是因为在苹果机上window禁止了手指误点功能,必须解除这一功能,或者给点击事件指引某个元素上绑定 ...
- path-to-regexp快速拆分 url 路径中的参数信息
介绍一个小工具 path-to-regexp 用于快速拆解url path中的部分,贴别适合restful接口中快速获取对应的实体参数 git地址可以参考 https://github.com/pil ...