zoukankan      html  css  js  c++  java
  • hashlib模块、shutil模块、shevle模块、xml模块、configparser模块

    一、hashlib模块

    1 什么是hash
    hash是一种算法,该算法接受传入的内容,经过运算得到一串hash值
    如果把hash算法比喻为一座工厂
    那传给hash算法的内容就是原材料
    生成的hash值就是生产出的产品

    2、为何要用hash算法
    hash值/产品有三大特性:
    1、只要传入的内容一样,得到的hash值必然一样
    2、只要我们使用的hash算法固定,无论传入的内容有多大,
    得到的hash值的长度是固定的
    3、不可以用hash值逆推出原来的内容

    基于1和2可以在下载文件时做文件一致性校验
    基于1和3可以对密码进行加密

    3、如何用
    #1、造出hash工厂
    m=hashlib.md5()

    #2、运送原材料
    m.update('你好啊'.encode('utf-8'))
    m.update('世界'.encode('utf-8'))

    #3、产出hash值
    print(m.hexdigest())


    #1、造出hash工厂
    m=hashlib.md5('你'.encode('utf-8'))

    #2、运送原材料
    m.update('好啊世界'.encode('utf-8'))

    #3、产出hash值
    print(m.hexdigest())

     注意:把一段很长的数据update多次,与一次update这段长数据,得到的结果一样
     但是update多次为校验大文件提供了可能。



    python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 进行进一步的处理然后再加密

    m=hmac.new('小鸡炖蘑菇'.encode('utf-8'))#new 里面必须传值
    m.update('hello'.encode('utf-8'))
    print(m.hexdigest())


    二、shutil模块
    高级的 文件、文件夹、压缩包 处理模块
    (文件拷贝、压缩与解压缩)

    三、shevle模块
     shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型
    f=shelve.open(r'sheve.txt')
    # f['stu1_info']={'name':'egon','age':18,'hobby':['piao','smoking','drinking']}
    # f['stu2_info']={'name':'gangdan','age':53}
    # f['school_info']={'website':'http://www.pypy.org','city':'beijing'}
    
    print(f['stu1_info']['hobby'])
    f.close(

    四、xml模块

    xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单

    xml协议在各个语言里的都 是支持的,在python中可以用以下模块操作xml:

    # print(root.iter('year')) #全文搜索
    # print(root.find('country')) #在root的子节点找,只找一个
    # print(root.findall('country')) #在root的子节点找,找所有
    对于任何标签都有三个特征:标签名、标签属性、标签的文本内容
    可以进行 :查、改、增、删的操作



    五、configparser
    解析配置文件
    可以对文件进行 增、删、改、查操作


  • 相关阅读:
    FHS Filesystem Hierarchy Standard(文件系统层次化标准)
    Linux文件类型
    cd、rm、ls命令
    基础内容
    Linux命令格式及使用方法
    Linux一些概念
    SHELL脚本的成分
    SHELL脚本
    Loadrunner关联
    赋值语句
  • 原文地址:https://www.cnblogs.com/kingyanan/p/9226130.html
Copyright © 2011-2022 走看看