Python常用模块 hashlib,pymysql,logging和datetime模块习题检测

Posted 孤寒者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python常用模块 hashlib,pymysql,logging和datetime模块习题检测相关的知识,希望对你有一定的参考价值。

目录:

每篇前言:


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模块

Python常用模块-摘要算法(hashlib)

python常用模块——hashlib

Python之常用模块hashlib模块与collections模块

python常用模块(random,hashlib,os,sys)

Python常用模块 之 hashlib模块