无序模块
什么是无序模块,将字符串转化为十六进制的字符串类型,主要运用在网络编程中。
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. tomcat启动时出现There are no resources that can be added or removed from the server

    对要部署的项目右键---Properties---Myeclipse---选中Dynamic Web Module 和 Java 应该是项目自己的setting文件夹下的描述信息和.project文件 ...

  2. 最牛技术 1秒启动Linux的窍门

    1秒启动Linux可以实现吗?我们知道Linux系统开机并不算快,最少也需要11秒,但是,现在有一个技巧,可以1秒打开linux系统,到底是什么技术这么牛?请看下文详细介绍 尽可能快的启动系统,对于自 ...

  3. GitLab 安装与入门

    GitLab介绍: GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. GitLab拥有与Github ...

  4. [BZOJ1257]余数之和

    Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值 其中k mod i表示k除以i的余数. 例如j(5 ...

  5. Your app uses or references the following non-public APIs的解决方案

    之前接了一个旧的项目,代码混乱,年代久远,不得不吐槽一波,好不容易改完需求提交代码,说用到了non-public APIs,搞了好久终于找到地方了,下面是我的解决过程,让大家少走弯路: 下面的被驳回的 ...

  6. SDOI2019&十二省联考 游记

    差不多写完了,然鹅去长郡学习前忘在机房电脑里了 总之是咕了

  7. Redis 后台运行

    编辑配置文件 vim {redis_home}/redis.conf 修改daemonize  (默认为no,修改为yes) 启动redis{redis_home}/src/redis-server ...

  8. (转)Java编译后产生class文件的命名规则

      今天刚好有同学问了下Java编译后产生的.class文件名的问题,虽然一直都在使用Java做开发,但是之前对编译后产生的.class文件名的规范也基本没做了解过,也真的是忏愧啊!今天无论如何都要总 ...

  9. ActiveMQ_01

    http://shhyuhan.iteye.com/blog/1278103http://www.cnblogs.com/blsong/archive/2012/09/26/2704337.htmlh ...

  10. 在myeclipse中安装svn

    首先下载site.zip,然后解压.在myeclipse的安装目录中的dropins文件夹中新建svn文件夹,把site中的features和plugins文件夹复制到svn中即可.然后重启Myecl ...