#hashlib模块,用来加密
import hashlib
m = hashlib.md5()#生成一个加密对象
m.update(b"hello")#更新对象,如果有中文,需要.encode(encoding = "utf-8")
print(m.hexdigest())#打印加密后的字符串,MD5加密,16进制格式
m.update(b"it's me")
print(m.hexdigest())#代表hello+it's me一起的加密。
#sha1加密只是把m = hashlib.md5换成了m = hashlib.sha1而已,包括125,256,sha512等
#hmac版本,对创建的key再进行加密,等于双重加密
import hmac
n = hmac.new(b"12345", b"abcde")#key只能是assic码,message也只能是assic码
print(n.hexdigest())#十六进制加密
#解决方法
n2 = hmac.new("你好吗?".encode(encoding="utf-8"), "abcde".encode(encoding="utf-8"))
print(n2.hexdigest())__Author__ = "Jack"
import subprocess#替代os.system和os.spawn*import logging#日志功能"""
#默认调用是root用户,不输出的日志级别可以调整,加上时间
logging.basicConfig(filename="niubintest.log",level=logging.INFO,format='%(asctime)s %(filename)s :%(lineno)s %(levelname)s - %(message)s',datefmt='%m/%d/%Y %I:%M:%S %p')#如上面加入的时间参数,可以加入其他很多信息,如模块名,哪个文件,哪个函数,多少行打印日志#可以调整写入日志级别
logging.basicConfig函数各参数:
filename: 指定日志文件名
filemode: 和file函数意义相同,指定日志文件的打开模式,'w'或'a'
format: 指定输出的格式和内容,format可以输出很多有用信息,如上例所示:
%(levelno)s: 打印日志级别的数值
%(levelname)s: 打印日志级别名称
%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s: 打印当前执行程序名
%(funcName)s: 打印日志的当前函数
%(lineno)d: 打印日志的当前行号
%(asctime)s: 打印日志的时间
%(thread)d: 打印线程ID
%(threadName)s: 打印线程名称
%(process)d: 打印进程ID
%(message)s: 打印日志信息
datefmt: 指定时间格式,同time.strftime()
level: 设置日志级别,默认为logging.WARNING
stream: 指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略
logging.critical("The Server was down")
logging.error("test error")
logging.warning("Another user is using this server")
logging.info("test info")#默认不输出
logging.debug("test debug")#默认不输出
"""
#日志类别,5个级别的日志,debug,error,warning,info,critical
#Logger提供了可以直接使用的接口
#handler可以将logger日志发送到合适的目的输出,如果需要同时输出到两个地方,则需要添加两个handler,以此类推
#filter决定了设备来输出那条目录
#format决定了日志输出的格式#create logger
logger = logging.getLogger("Jack-log")
logger.setLevel(logging.DEBUG)#添加handler
#屏幕handler
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)#文件handler
fh = logging.FileHandler("Error.log", encoding="utf-8")
fh.setLevel(logging.ERROR)#定义好日志格式:
FormatFile = logging.Formatter('%(asctime)s %(filename)s :%(lineno)s %(levelname)s - %(message)s',datefmt='%m/%d/%Y %I:%M:%S %p')
FormatCh = logging.Formatter('%(asctime)s %(filename)s %(levelname)s - %(message)s',datefmt='%m/%d/%Y %I:%M:%S %p')#将formater和handler做关联
ch.setFormatter(FormatCh)
fh.setFormatter(FormatFile)#将handler加入logger,让logger往这两个handler输出
logger.addHandler(ch)
logger.addHandler(fh)#测试
logger.warning("dddd")
logger.error("eeee")__Author__ = "Jack"
#日志过大切割,Rotating模块,可以调整文件大小,最多保留多少个,
import logging,time
from logging import handlers
#create logger
logger = logging.getLogger("Jack-log")log_file = "timelog.log"
# fh = handlers.RotatingFileHandler(filename=log_file, maxBytes=10, backupCount=3, encoding="utf-8")#按大小
fh = handlers.TimedRotatingFileHandler(filename=log_file, when="S", interval=5,backupCount=3, encoding="utf-8")#按照时间
FormatFile = logging.Formatter('%(asctime)s %(filename)s :%(lineno)s %(levelname)s - %(message)s',datefmt='%m/%d/%Y %I:%M:%S %p')fh.setFormatter(FormatFile)
logger.addHandler(fh)#测试
logger.warning("dddd")
time.sleep(2)
logger.warning("test2")
time.sleep(2)
logger.warning("test3")
time.sleep(2)
logger.warning("test4")
time.sleep(2)
logger.warning("test5")
time.sleep(2)
logger.warning("test6")
time.sleep(2)
logger.error("test7")

转载于:https://www.cnblogs.com/JackNiu/p/7358277.html

Python学习笔记-2017.5.4thon学习笔记-2017.8.14相关推荐

  1. Python的dict字典结构操作方法学习笔记

    Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...

  2. python structure_GitHub - CYZYZG/Data_Structure_with_Python: 这是我在学习《基于Python的数据结构》的时候的笔记与代码...

    Data_Structure_with_Python 这是我在学习<基于Python的数据结构>的时候的笔记与代码 主要参考:数据结构与算法(Python) 对于算法的时间效率,我们可以用 ...

  3. python基础学习[python编程从入门到实践读书笔记(连载一)]

    写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...

  4. python人工智能入门纳米学位_学习笔记(一) - 机器学习纳米学位

    不久前我在Udacity报名了数据分析和机器学习两门纳米课程.之所以对这个感兴趣是因为关注人工智能方面的资讯有一段时间了,觉得这是未来的趋势,希望今后能够在这方面有所成绩.选择纳米课程是因为我觉得它与 ...

  5. 23神经网络 :唐宇迪《python数据分析与机器学习实战》学习笔记

    唐宇迪<python数据分析与机器学习实战>学习笔记 23神经网络 1.初识神经网络 百度深度学习研究院的图,当数据规模较小时差异较小,但当数据规模较大时深度学习算法的效率明显增加,目前大 ...

  6. 将MNIST手写数字数据集导入NumPy数组(《深度学习入门:基于Python的理论与实现》实践笔记)

    将MNIST手写数字数据集导入NumPy数组(<深度学习入门:基于Python的理论与实现>实践笔记) 一.下载MNIST数据集(使用urllib.request.urlretrieve( ...

  7. 《深度学习入门-基于Python的理论与实现》学习笔记1

    <深度学习入门-基于Python的理论与实现>学习笔记1 第一章Python入门 Python是一个简单.易读.易记的编程语言,可以用类似于英语的语法进行编写程序,可读性高,且能写出高性能 ...

  8. 大学学python用记笔记吗_3年Python程序员平时学习笔记总结,对于学习Python非常有帮助!...

    一.可迭代对象.迭代器对象和生成器 像list, tuple等这些序列是可以使用for...in ...语句来进行遍历输出的.这是为什么呢?这就需要知道可迭代对象(Iterable).迭代器对象(It ...

  9. 《基于Python的金融分析与风险管理》学习笔记

    目录 第1部分  入门篇 第1章  Python概览 1.1  Python的定义与比较优势 1.1.1  Python简介 1.1.2  Python的比较优势 1.2  Python之父-吉多·范 ...

最新文章

  1. 如何使用TensorFlow Eager执行训练自己的FaceID ConvNet
  2. 利用ListView实现新闻客户端的新闻内容图文混排
  3. asp.net treeView 节点 点击 变色
  4. Matlab赋值语句
  5. 一人之力也能抬起一辆大型箱车?
  6. oracle过滤数据,过滤数据 (Oracle Solaris Studio 12.2:性能分析器)
  7. java 蓝桥杯算法训练 sign函数
  8. 【转】C#事件和委托的理解
  9. 免费的开源软件那么“香”,为何他们宁愿花钱去买软件?
  10. 国内Linux认证类型详解
  11. “21天好习惯”第一期-12
  12. win7下cmd常用命令
  13. C语言实现斐波那契数列
  14. 21世纪的文件系统:概述WindowsNT 5.0文件系统(NTFS)(三)
  15. python3 logging输出到文件_python3:logging模块 输出日志到文件
  16. 《HelloGitHub》第 60 期,你喜欢玩游戏吗?
  17. Python常见库matplotlib之多个子图绘图
  18. COGS1487 麻球繁衍
  19. 中国高铁票价世界最低
  20. 用JavaScript实现的简单Wizard

热门文章

  1. 开通了一个gmail邮箱
  2. 贝叶斯神经网络的辩论
  3. 【LDA学习系列】Beta分布Python代码
  4. 机器学习知识点(二十七)先验概率和后验概率理解
  5. Python函数作为参数传递给函数
  6. is NULL , is NOT NULL 有时索引失效 || in 走索引, not in 索引失效 ||单列索引和复合索引 || 查看索引使用情况
  7. JVM的标配参数和X参数
  8. Servlet的体系结构 || Servlet相关配置
  9. Servlet: server applet与执行原理
  10. 取 1~100之间的随机整数