无序模块
什么是无序模块,将字符串转化为十六进制的字符串类型,主要运用在网络编程中。
1,json模块
1,用于网络传输,跨语言,可用的类型有 int str 列表--》元祖会变为列表 字典--》双引号表示
2,缺点:支持的数据类型有限
1.json.dumps()
将字符创转化为bytes类型,用来传输
    2.json.loads()
读取bytes类型
dic = {'剑圣':'我的剑就是你的剑','赵信':'陷阵之志,有死无生','皇子':'犯我德邦者,虽远必诛'}
lol = json.dumps(dic,ensure_ascii=False) #在网络编程中的dumps将字符串转化为十六进制的字符串类型
print(lol)
ret = json.loads(lol) #用来解读十六进制
print(ret)

        3.json.dump()
文件的写入 但是当文件写入数据较多时 需要用dumps
4.json.load()
文件内容读取
f = open('233','a',encoding='utf-8')
json.dump(dic,f)#文件写入
f.close() f1 = open('233','r',encoding='utf-8')
json.loads(f1)#文件读取
f.close()

2.pickle模块
1.在python平台之间使用,使用便利
1,pickle.dumps
2.pickle.loads
3.pockle.dump
4.pockle.load
     
dic = {'剑圣':'我的剑就是你的剑','赵信':'陷阵之志,有死无生','皇子':'犯我德邦者,虽远必诛'}
dic1 = {'剑圣':'我的剑就是你的剑','赵信':'陷阵之志,有死无生','皇子':'犯我德邦者,虽远必诛'}
dic2 = {'剑圣':'我的剑就是你的剑','赵信':'陷阵之志,有死无生','皇子':'犯我德邦者,虽远必诛'}
dic3 = {'剑圣':'我的剑就是你的剑','赵信':'陷阵之志,有死无生','皇子':'犯我德邦者,虽远必诛'}
k = pickle.dumps(dic)
print(k)
l = pickle.loads(k)
print(l) f = open('233','ab')
ret = pickle.dump(dic,f)
f.close() f1 =open('233','rb')
print(pickle.load(f1))
f1.close()
f=open('233','wb')
pickle.dump(dic,f)
pickle.dump(dic1,f)
pickle.dump(dic2,f)
pickle.dump(dic3,f)
f.close()
f1 =open('233','rb')
while True:
try:
print(pickle.load(f1))
except EOFError:
break
f.close() class A:
def __init__(self,name,age):
self.name = name
self.age = age a = A('alex',45)
k=pickle.dumps(a) #读取所有属性, 将a对象的属性序列化
l=pickle.loads(k)
print(l.__dict__)

3.shelve模块
专有化的模块,只针对文件的读取调用。
f['']模式 4.hashlib模块
两种运用
1,在文件的校验上面,传输者和接收者的文件是否一致
2,密码的加密 分多种加密方式:
1.MD5 2.sha加密方式
1,文件的一致性校验:
  在文件上传网络之后,为了校验上传的文件和之后的别人接收的文件是否一致,利用hashlib中md5的加密方式,验证两边问价加密后是否密码一致,即使文件有一个空格的不同都会使得加密后的md5密码不一样。
md5obj = hashlib.md5()
with open('file1','rb')as f:
    countent = f.read() #文件加密
    md5obj.update(countent)
print(md5obj.hexdigest()) 2,密文验证的时候加密
MD5加密方式, 通用的加密方式
sha文件加密方式,
password = input('>>>>')
k = hashlib.md5()
k.update(password.encode('utf-8')) m = hashlib.md5()
m.update('233'.encode('utf-8'))
if k.hexdigest() == m.hexdigest():
print('666')
else:
print('2333')
     

python 无序模块,hashlib模块的更多相关文章

  1. Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块

    Python第十一天    异常处理  glob模块和shlex模块    打开外部程序和subprocess模块  subprocess类  Pipe管道  operator模块   sorted函 ...

  2. Python进阶(九)----json模块, pickle模块, os模块,sys模块,hashlib模块

    Python进阶----json模块, pickle模块, os模块,sys模块,hashlib模块 一丶序列化模块 什么是序列化: ​ 将一种数据结构,转换成一个特殊的序列(特殊字符串,用于网络传输 ...

  3. python模块: hashlib模块, configparse模块, logging模块,collections模块

    一. hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用 ...

  4. python模块——hashlib模块(简单文件摘要算法实现)

    #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = "loki" # Usage: hashlib模块 import ...

  5. Python正则表达式与hashlib模块

    菜鸟学python第十六天 1.re模块(正则表达式) 什么是正则表达式 正则表达式是一个由特殊字符组成的序列,他能帮助对字符串的某种对应模式进行查找. 在python中,re 模块使其拥有全部的正则 ...

  6. Python进阶-XVV hashlib模块、configparse模块、logging模块

    1.配置相关的configparse模块 配置文件如何组织?python中常见的是将配置文件写成py,然后引入该模块即可.优点是方便访问. 但是也有用类似windows中的ini文件的配置文件,了解即 ...

  7. python day 8: re模块补充,导入模块,hashlib模块,字符串格式化,模块知识拾遗,requests模块初识

    目录 python day 8 1. re模块补充 2. import模块导入 3. os模块 4. hashlib模块 5. 字符串格式:百分号法与format方法 6. 模块知识拾遗 7. req ...

  8. python笔记7 logging模块 hashlib模块 异常处理 datetime模块 shutil模块 xml模块(了解)

    logging模块 日志就是记录一些信息,方便查询或者辅助开发 记录文件,显示屏幕 低配日志, 只能写入文件或者屏幕输出 屏幕输出 import logging logging.debug('调试模式 ...

  9. python之路----hashlib模块

    在平时生活中,有很多情况下,你在不知不觉中,就用到了hashlib模块,比如:注册和登录认证注册和登录认真过程,就是把注册用的账户密码进行:加密 --> 解密 的过程,在加密.解密过程中,用的了 ...

  10. python学习-59 hashlib模块

    hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块 加密功能 import hashlib obj = hashlib.md5() # 如果在md5里加上自己设置的参数,别的 ...

随机推荐

  1. Mac 使用技巧分享

    1. 快捷键开启speech功能: System Preferences -> Ditaction&Speech ->Text to Speech ->Select 'Spe ...

  2. DataStage 服务启动

    说明:①如果发现was.datastage已经自启动,但db2没有自启动,应先将它们停止,在按顺序启动;②如果都自启动了,就不用再启动,关闭防火墙即可. --0.关闭防火墙service iptabl ...

  3. Codeforces 9C Hexadecimal's Numbers - 有技巧的枚举

    2017-08-01 21:35:53 writer:pprp 集训第一天:作为第一道题来讲,说了两种算法, 第一种是跟二进制数联系起来进行分析: 第二种是用深度搜索来做,虽然接触过深度搜索但是这种题 ...

  4. 用HyperMesh(7.0)手工修改网格

    检查网格质量并修改 2D->qulifyindex:其中View/Edit/Optimize工具栏功能常用,尤其是Edit页中的Place Node,可以动态地拖动节点并观察单元质量是否符合要求 ...

  5. 使用SpringMVC时报错HTTP Status 405 - Request method 'GET' not supported

    GET方法不支持.我出错的原因在于,在JSP中我希望超链接a以post方式提交,但是这里写js代码时出错. <script type="text/javascript"> ...

  6. hibernate学习(4)

    Hibernate查询方式 1 对象导航查询 (1)根据id查询某个客户,再查询这个客户里面所有的联系人 2 OID查询 (1)根据id查询某一条记录,返回对象 3 hql查询 (1)Query对象, ...

  7. d3.js学习笔记(五)——将数据结构化为D3.js可处理的

    目标 在这一章,你将会理解如何对数据进行结构化,来更好的使用D3.js. 我们将会回顾我们之前已经学习的,学习D3.js如何使用选集(selections),JavaScript对象基础,以及如何最优 ...

  8. css3 放大缩小代码

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  9. 新东方雅思词汇---8.3、apt

    新东方雅思词汇---8.3.apt 一.总结 一句话总结:本身为词根 adj. 恰当的:有…倾向的:灵敏的 本身为词根 英 [æpt]  美 [æpt]  adj. 恰当的:有…倾向的:灵敏的 n. ...

  10. spring3: 基于Schema的AOP

    6.3  基于Schema的AOP 基于Schema的AOP从Spring2.0之后通过“aop”命名空间来定义切面.切入点及声明通知. 在Spring配置文件中,所以AOP相关定义必须放在<a ...