Python常用模块 hashlib,pymysql,logging和datetime模块习题检测
Posted 孤寒者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python常用模块 hashlib,pymysql,logging和datetime模块习题检测相关的知识,希望对你有一定的参考价值。
目录:
每篇前言:
🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者
- 🔥🔥本文已收录于Python全栈系列专栏:《Python全栈基础教程》
- 🔥🔥热门专栏推荐:《Django框架从入门到实战》、《爬虫从入门到精通系列教程》、《爬虫高级》、《前端系列教程》、《tornado一条龙+一个完整版项目》。
- 📝📝本专栏面向广大程序猿,为的是大家都做到Python从入门到精通,同时穿插有很多很多习题,巩固学习。
- 🎉🎉订阅专栏后可私聊进一千多人Python全栈交流群(手把手教学,问题解答); 进群可领取Python全栈教程视频 + 多得数不过来的计算机书籍:基础、Web、爬虫、数据分析、可视化、机器学习、深度学习、人工智能、算法、面试题等。
- 🚀🚀加入我一起学习进步,一个人可以走的很快,一群人才能走的更远!
1.hashlib模块
将图片通过hashlib加密。
# -*- coding: utf-8 -*-
"""
__author__ = 孤寒者
"""
import hashlib
with open('picture.jpg','rb+') as f:
m = f.read()
hash_m = hashlib.md5(m)
print(hash_m.hexdigest())
- 如果这个图片文件比较大怎么办呢?
- 答案是分行的读,每一行使用hashlib!
import hashlib
m1 = hashlib.md5()
with open('picture.jpg','rb+') as f:
for i in f:
print(i)
m1.update(i)
res = m1.hexdigest()
print(res)
2.pymysql模块
往mysql数据表插入一万条数据,表结构自拟。
# -*- coding: utf-8 -*-
"""
__author__ = 孤寒者
"""
import pymysql
mysql_config =
'user':'root',
'password':'123456',
'db':'Vxin',
'charset':'utf8'
conn = pymysql.connect(**mysql_config)
cur = conn.cursor() #创建游标
for i in range(10000,20000):
cur.execute('insert into Vxin VALUE(%s,"孤寒者")'%i)
conn.commit()
3.logging模块
请配置logging模块,使其在控制台和文件里同时打印格式为时间:2022-11-29 20:07:39,943,日志级别:ERROR日志消息:division by zero报错行数:66
的日志。
# -*- coding: utf-8 -*-
"""
__author__ = 孤寒者
"""
import logging
# 实例化一个对象
logger = logging.getLogger('guhanzhe')
# 设置控制台管理者
sh = logging.StreamHandler()
sh.setLevel(logging.INFO)
# 设置文件管理者
fh = logging.FileHandler('日志文件.log',encoding='utf-8')
fh.setLevel(logging.INFO)
# 设置输出的格式
formater = logging.Formatter(
'时间:%(asctime)s'
'日志级别:%(levelname)s'
'日志消息:%(message)s'
'报错行数:%(lineno)s'
)
# 把格式添加给管理者
sh.setFormatter(formater)
fh.setFormatter(formater)
# 把实例化对象添加给管理者
logger.addHandler(sh)
logger.addHandler(fh)
if __name__ == '__main__':
try:
print(aaaaaa)
except Exception as e:
logger.error(e)
4.datetime模块
假设你获取了用户输入的日期和时间如2019-10-31 20:00:30(str类型),请编写一个函数输出距离圣诞节的时间差
# -*- coding: utf-8 -*-
"""
__author__ = 孤寒者
"""
from datetime import datetime
def get_days(day):
date1 = datetime.strptime(day,'%Y-%m-%d')
date2 = datetime(date1.year,12,25)
# 获取从1月1日到圣诞节的时间差
date3 = 365-6
# days 时间差
days1 = date2 - date1
days1 = days1.days
if days1 >= 0 :
print('离圣诞节还有%s天'%days1)
elif days1<0:
# 这里就是12月25之后的六天,超出了之后得加上来年1月1日到圣诞节的时间
a = 6 - abs(days1)
# 后面这一年的圣诞节
days2 = date3 + a
print('离圣诞节还有%s天' % abs(days2))
if __name__ == '__main__':
day = input('请输入一个日期:')
get_days(day)
以上是关于Python常用模块 hashlib,pymysql,logging和datetime模块习题检测的主要内容,如果未能解决你的问题,请参考以下文章
Python之常用模块hashlib模块与collections模块