zoukankan      html  css  js  c++  java
  • python 无序模块,hashlib模块

    无序模块
    什么是无序模块,将字符串转化为十六进制的字符串类型,主要运用在网络编程中。
    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')

        

  • 相关阅读:
    图神经网络基础二:谱图理论
    欧几里得数据与非欧几里得数据
    如何通俗易懂地解释卷积?
    图解GNN:A Gentle Introduction to Graph Neural Networks
    论文解读(DEC)《Unsupervised Deep Embedding for Clustering Analysis》
    拉普拉斯平滑(Laplacian smoothing)
    正交矩阵
    asp伪继承初探_实例代码ASP编程
    SQL Server 2005大小写敏感设置
    jmail asp 发送邮件 绝对好用
  • 原文地址:https://www.cnblogs.com/wpcbk/p/8893595.html
Copyright © 2011-2022 走看看