hashilib模块

  hashilib模块的主要作用是加密,可以将明文数据通过一系列算法转化为秘闻数据。

  目的是为了数据的安全。

  加密算法包括md系列,sha系列,base系列,hmac系列。

  基本使用

    1.先确定算法类型。

    2.将明文数据传递给算法。

    3.获得加密后的密闻数据。

  分段传值

    在传递明文数据时,如果明文数据是一致的,那么无论怎么传值结果都是一样的。

  算法选择

    密文越长表示算法复杂,对应的破解算法的难度就越高。

    但是越复杂的算法所消耗的资源也就越高,基于网络发送所占据的数据也就越大。

    因此要使用什么算法需要看具体的需求(一般来说md5就足够了)。

  密码存储

    在涉及到用户的密码存储时,存储的都是密文,即使是内部程序员也无法得知明文内容。

    这样的做法是为了用户信息的安全性。

  加盐处理

    加盐处理指的是在给明文数据在加密处理过程前添加一些干扰项。

    为了更加的安全有时会添加动态的值,这种方式被称为动态加盐。

  校验文件一致性

    当需要比对文件是否一致时,可以将文件的密文进行比对,当密文一致时表示文件内容一致。

    当文件特别大时,全部加密处理会相当耗时耗资源。

    针对大文件可以采取切片操作的方式。

logging模块

  日志等级   

    日志有五个等级(从上往下重要程度不一样)
      1.logging.debug('debug级别') # 10
      2.logging.info('info级别') # 20
      3.logging.warning('warning级别') # 30
      4.logging.error('error级别') # 40
      5.logging.critical('critical级别') # 50

    默认记录的级别为30及以上

  详细介绍

    1..logger对象:负责产生日志。

  1. logger = logging.getLogger('')

    2.filter对象:负责过滤日志(忽略)。

    3.handlier对象:负责日志产生的位置。

  1. hd1 = logging.FileHandler('文件名',encoding='utf8') # 产生到文件
  2. hd2 = logging.StreamHandler() # 产生在终端

    4.formatter对象:负责日志的格式。

  1. fm = logging.Formatter(
  2. fmt='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
  3. datefmt='%Y-%m-%d %H:%M:%S %p',
  4. )

    5.绑定handler对象

  1. logger.addHandler(hd1)

    6.绑定formatter对象

  1. hd1.setFormatter(fm)

    7.设置日志等级

  1. logger.setLevel(30)

    8.记录日志

  1. logger.debug('日志内容 ')

  配置字典

    字典的配置,复制改一下就行

  1. import logging
  2. import logging.config
  3.  
  4. standard_format = '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]' \
  5. '[%(levelname)s][%(message)s]' #其中name为getlogger指定的名字
  6.  
  7. simple_format = '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'
  8.  
  9. logfile_path = 'a3.log'
  10. # log配置字典
  11. LOGGING_DIC = {
  12. 'version': 1,
  13. 'disable_existing_loggers': False,
  14. 'formatters': {
  15. 'standard': {
  16. 'format': standard_format
  17. },
  18. 'simple': {
  19. 'format': simple_format
  20. },
  21. },
  22. 'filters': {}, # 过滤日志
  23. 'handlers': {
  24. #打印到终端的日志
  25. 'console': {
  26. 'level': 'DEBUG',
  27. 'class': 'logging.StreamHandler', # 打印到屏幕
  28. 'formatter': 'simple'
  29. },
  30. #打印到文件的日志,收集info及以上的日志
  31. 'default': {
  32. 'level': 'DEBUG',
  33. 'class': 'logging.handlers.RotatingFileHandler', # 保存到文件
  34. 'formatter': 'standard',
  35. 'filename': logfile_path, # 日志文件
  36. 'maxBytes': 1024*1024*5, # 日志大小 5M
  37. 'backupCount': 5,
  38. 'encoding': 'utf-8', # 日志文件的编码,再也不用担心中文log乱码了
  39. },
  40. },
  41. 'loggers': {
  42. #logging.getLogger(__name__)拿到的logger配置 空字符串作为键 能够兼容所有的日志
  43. '': {
  44. 'handlers': ['default', 'console'], # 这里把上面定义的两个handler都加上,即log数据既写入文件又打印到屏幕
  45. 'level': 'DEBUG',
  46. 'propagate': True, # 向上(更高level的logger)传递
  47. }, # 当键不存在的情况下 (key设为空字符串)默认都会使用该k:v配置
  48. },
  49. }
  50.  
  51. # 使用配置字典
  52. logging.config.dictConfig(LOGGING_DIC) # 自动加载字典中的配置
  53. logger1 = logging.getLogger('xxx')
  54. logger1.debug('日志内容')

logging字典

第三方模块

  第三方模块并不是python自带的,需要自行从网络下载。

  下载方式

    方式1:通过命令行借助pip工具下载(需先将pip添加到环境变量)。

      pip3 install 模块名  # 下载最新版本模块

      pip3 install 模块名==版本名  # 下载对应版本

      pip3 install 模块名 -i 仓库地址  # 更换地址下载

    方式2:pycharm快捷下载

      settings

        project

          python interprter

            双击或点击加号可下载

      点击下方manage管理原地址可以更改下载地址

  可下载的地址

    pip命令默认下载的渠道是国外的python官网(有时候会非常的慢)
    我们可以切换下载的源(仓库)
    (1)阿里云 http://mirrors.aliyun.com/pypi/simple/
    (2)豆瓣 http://pypi.douban.com/simple/
    (3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
    (4)中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
    (5)华中科技大学http://pypi.hustunique.com/

python模块(三)的更多相关文章

  1. Python模块三

    collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict. ...

  2. Python模块(三)(正则,re,模块与包)

    1. 正则表达式 匹配字符串 元字符 .   除了换行 \w  数字, 字母, 下划线 \d  数字 \s  空白符 \n 换行符 \t  制表符 \b  单词的边界 \W  \D \S 非xxx [ ...

  3. 【转】python模块分析之typing(三)

    [转]python模块分析之typing(三) 前言:很多人在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数,返回什么类型的结果,就不得不去阅读代码的具体内容,降低了阅读的速度 ...

  4. python模块分析之typing(三)

    前言:很多人在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数,返回什么类型的结果,就不得不去阅读代码的具体内容,降低了阅读的速度,加上Python本身就是一门弱类型的语言,这种 ...

  5. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  6. 孤荷凌寒自学python第三十一天python的datetime.timedelta模块

     孤荷凌寒自学python第三十一天python的datetime.timedelta模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) datetime.timedelta模块是一个表示 ...

  7. 孤荷凌寒自学python第三十天python的datetime.datetime模块

     孤荷凌寒自学python第三十天python的datetime.datetime模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) datetime.datetime模块包含了:datet ...

  8. Python(三)基础篇之「模块&面向对象编程」

    [笔记]Python(三)基础篇之「模块&面向对象编程」 2016-12-07 ZOE    编程之魅  Python Notes: ★ 如果你是第一次阅读,推荐先浏览:[重要公告]文章更新. ...

  9. (三)运用Python模块和包

    1 引言 为了能够在Python项目中高效地运用Python模块和包,我们需要进一步地来了解它们是如何在Python项目中进行定义.使用和工作的. 2 Python模块和包 Python模块和包的基本 ...

  10. Python模块之configpraser

    Python模块之configpraser   一. configpraser简介 用于处理特定格式的文件,其本质还是利用open来操作文件. 配置文件的格式: 使用"[]"内包含 ...

随机推荐

  1. [atARC126F]Affine Sort

    记$g(k)$为$c$恰为$k$的合法三元组数,显然$f(k)=\sum_{i=1}^{k}g(i)$ 结论:若$\lim_{k\rightarrow \infty}\frac{g(k)}{k^{2} ...

  2. [luogu5438]记忆

    令$f(x)=\frac{x}{\max_{k^{2}|x}k^{2}}$,最优解即将$f(l),f(l+1),...,f(r)$排序,那么每存在一种不同的数则答案减1,那么$x$出现当且仅当$f(x ...

  3. 解决Windows7、Windows10 ping不通的问题

    在VLAN交换机网络下面不能访问Windows10或者Windows7共享.ping不通问题,关闭防火墙发现能ping通了共享也正常了. 但是关闭防火墙将给电脑系统留下安全隐患.不怕麻烦的可以继续往下 ...

  4. layui页面操作,点击一个添加页面,跳转有确定,然后点击确定后将选择的几个数据返回前一个页面获取值,然后ajax请求后台

    custUserIndex.html [添加页面代码] <!DOCTYPE html> <html> <head> <meta charset="u ...

  5. Codeforces 708E - Student's Camp(前缀和优化 dp)

    Codeforces 题目传送门 & 洛谷题目传送门 神仙 *3100,%%% 首先容易注意到 \(\forall i\in[1,m]\),第 \(i\) 行剩余的砖块一定构成一个区间,设其为 ...

  6. Session和Cookie的原理,以及在分布式应用中出现的问题和解决方案

    产生原因 由于http协议是无状态的,同一个浏览器对服务器的两次请求之间是没有关系的,服务器认为两次请求都是全新的请求,不会记住上次请求成功的数据.然而现有的业务常常需要服务器能记住用户的访问情况, ...

  7. annovar 注释除人类以外的SNP

    1. 准备文件: ref.fa ref.gtf或者gff3,最好是gtf3,可将gff3转化为gtf sample.vcf 2. 用gff3ToGenePred与gtfToGenePred工具将gtf ...

  8. 一个好用的快速安装lnmp环境包lnmp1-6

    一个好用的快速安装lnmp环境包lnmp1-6 地址:https://lnmp.org/tag/lnmp1-6/

  9. 网站性能调优实战-学相伴KuangStudy

    面对并发我们是如何优化KuangStudy网站性能的? 每个项目都会随着用户和数据的增长调整架构,来面对未来的问题,我们也不例外,在1月5号我们平台正式公测后,引起了很多观众的热烈反响,仅仅4天,注册 ...

  10. springcloud - alibaba - 2 - 集成Feign - 更新完成

    1.依赖 依赖管理 <parent> <artifactId>spring-boot-parent</artifactId> <groupId>org. ...