iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python利用hashlib实现文件MD5码的批量存储
  • 227
分享到

Python利用hashlib实现文件MD5码的批量存储

Python 官方文档:入门教程 => 点击学习

摘要

目录简介源代码源代码说明效果如下所示简介 可以考虑以下几个可能的应用: 如果你需要对文件进行校验或验证,你可以使用MD5码来检查文件是否被篡改或损坏。如果你需要对文件进行分类或去重,

简介

可以考虑以下几个可能的应用:

  • 如果你需要对文件进行校验或验证,你可以使用MD5码来检查文件是否被篡改或损坏。
  • 如果你需要对文件进行分类或去重,你可以使用MD5码来标识文件的唯一性或相似性。
  • 如果你需要对文件进行存储或传输,你可以使用Access数据库来管理文件的路径和MD5码。

基于这些应用,我为你举了以下几个具体的场景:

你是一个软件开发者,你需要发布一个安装包给用户下载。为了保证安装包的完整性和安全性,你可以使用刚刚一段代码来生成安装包的MD5码,并将其存储在Access数据库中。当用户下载完安装包后,他们可以通过比较自己计算的MD5码和数据库中的MD5码来确认安装包是否正确无误。

你是一个数据分析师,你需要处理大量的数据文件。为了避免重复或错误的数据文件,你可以使用刚刚一段代码来生成每个数据文件的MD5码,并将其存储在Access数据库中。当你需要查询或分析某个数据文件时,你可以通过查找数据库中的MD5码来快速定位到相应的数据文件。

你是一个网络管理员,你需要备份服务器上的重要文件。为了节省空间和时间,你可以使用刚刚一段代码来生成每个重要文件的MD5码,并将其存储在Access数据库中。当你需要恢复某个重要文件时,你可以通过比较服务器上和备份设备上的MD5码来确定哪些文件需要更新或覆盖。

源代码

import os
import hashlib
import pyodbc
 
# Connect to the Access database
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=./stocks.accdb;')
# conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=stocks.accdb;')
cursor = conn.cursor()
 
# Iterate over all files in the current folder
for file in os.listdir("."):
    # Skip subdirectories
    if os.path.isdir(file):
        continue
    # Get the full file path
    file_path = os.path.abspath(file)
    # Generate the md5 hash of the file content
    md5_hash = hashlib.md5()
    with open(file_path, "rb") as f:
        for chunk in iter(lambda: f.read(4096), b""):
            md5_hash.update(chunk)
    md5_hex = md5_hash.hexdigest()
    # Insert the file path and md5 hash into the database table
    cursor.execute("INSERT INTO filemd (filepath, md5) VALUES (?, ?)", (file_path, md5_hex))
 
# Commit and close the connection
conn.commit()
conn.close()

源代码说明

这段代码的主要功能是遍历当前文件夹下的所有文件,计算每个文件的MD5码,并将文件路径和MD5码存储在Access数据库中。具体来说,这段代码做了以下几件事:

  • 导入os、hashlib和pyodbc三个模块,分别用于操作系统、哈希算法和数据库连接。
  • 使用pyodbc.connect函数连接到Access数据库,指定驱动程序和数据库文件名。
  • 创建一个cursor对象,用于执行sql语句。
  • 使用os.listdir函数获取当前文件夹下的所有文件名。
  • 使用一个for循环遍历每个文件名。
  • 使用os.path.isdir函数判断是否是子目录,如果是则跳过。
  • 使用os.path.abspath函数获取完整的文件路径。
  • 创建一个md5_hash对象,用于生成MD5码。
  • 使用open函数以二进制模式打开文件,并使用一个for循环读取每个4096字节的数据块。
  • 使用md5_hash.update函数更新MD5码的计算状态。
  • 使用md5_hash.hexdigest函数获取最终的MD5码值(十六进制字符串)。
  • 使用cursor.execute函数执行SQL语句,将文件路径和MD5码插入到filemd表中(如果表不存在,则先创建)。
  • 使用conn.commit函数提交事务,将数据保存到数据库中。
  • 使用conn.close函数关闭数据库连接。

效果如下所示

到此这篇关于python利用hashlib实现文件MD5码的批量存储的文章就介绍到这了,更多相关Python hashlib存储文件MD5码内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python利用hashlib实现文件MD5码的批量存储

本文链接: https://www.lsjlt.com/news/212675.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python利用hashlib实现文件MD5码的批量存储
    目录简介源代码源代码说明效果如下所示简介 可以考虑以下几个可能的应用: 如果你需要对文件进行校验或验证,你可以使用MD5码来检查文件是否被篡改或损坏。如果你需要对文件进行分类或去重,...
    99+
    2023-05-19
    Python hashlib存储文件MD5码 Python hashlib 文件MD5码 Python hashlib MD5码 Python hashlib
  • Python怎么实现文件MD5码批量存储
    要实现文件MD5码的批量存储,可以按照以下步骤进行操作: 导入hashlib模块,该模块提供了各种哈希算法,包括MD5。 imp...
    99+
    2024-04-09
    Python
  • Python编程批量实现md5加密pdf文件
    Python编程实现批量md5加密pdf文件今天在某公众号看到一个关于pdf文件加密模块的介绍,突然有了一个想法,编写一个批量加密某目录下的所有pdf文件。结合md5加密和文件查找等...
    99+
    2024-04-02
  • Python实现批量文件分类保存的示例代码
    目录序言代码展示效果展示序言 当我们电脑里面的文本或者或者文件夹太多了,有时候想找到自己想要的文件,只能通过去搜索文件名,要是名字忘记了的话,那你也搜不了吧,当然你可通过后缀名去搜索...
    99+
    2024-04-02
  • 利用Python实现快速批量转换HEIC文件
    目录1. 前言2. 准备3. 实战4.最后1. 前言 最近打算做一批日历给亲朋好友,但是从 iPhone 上导出的照片格式是 HEIC 格式,而商家的在线制作网站不支持这种图片格式 ...
    99+
    2024-04-02
  • shell中怎么利用iconv实现批量文件转码
    shell中怎么利用iconv实现批量文件转码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。例子一:使用shell脚本实现批量转码的操作。#!/bin/sh #c...
    99+
    2023-06-09
  • 利用python批量删除文件
    最近刚刚学了爬虫,爬了一个很有意思的网站——placekitten.com/g/num1/num2,最后是两个数字,在地址栏里输入这个网址,后面两个数字自己改成想要的大小,按回车,将会得到一张猫咪图片,图片大小跟自己输入的两个数值...
    99+
    2023-01-31
    批量 文件 python
  • Python怎么实现批量文件分类保存
    今天小编给大家分享一下Python怎么实现批量文件分类保存的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。我们这里以这两百多个...
    99+
    2023-06-30
  • Python实现批量文件整理的示例代码
    目录引言 一、准备工作二、制作 excel 的文件清单三、文件的批量重命名四、文件的批量删除引言  批量文件整理一直是日常工作中令人头疼的事,使用 Python 进行大批量文件整理,...
    99+
    2024-04-02
  • python实现批量移动文件
    本文通过实例为大家分享了python实现批量移动文件的具体代码,供大家参考,具体内容如下 任务:每个大文件夹下有许多小文件夹,将小文件夹里的pdf文件移动到指定文件夹。如图: 最...
    99+
    2024-04-02
  • Win10利用bat文件实现文件与文件夹批量重命名的实践
    目录bat文件批量重命名文件夹批量重命名文件后记bat文件 利用Win10的bat文件能够实现垃圾清理、电脑关机等。同样的,使用Win的bat文件能够实现文件与文件夹的批量重命名,这...
    99+
    2024-04-02
  • Python实现批量压缩文件/文件夹zipfile的使用
    目录【Python压缩文件夹】导入“zipfile”模块【python压缩文件】导入“zipfile”模块补充zipfile是python里用来做zip格式编码的压缩和解压缩的,由于...
    99+
    2024-04-02
  • Python批量爬虫下载PDF文件代码实现
    本文的背景是:大学关系很好的老师问我能不能把Excel中1000个超链接网址对应的pdf文档下载下来。虽然可以手动一个一个点击下载,但是这样太费人力和时间了。我想起了之前的爬虫经验,给老师分析了一下可...
    99+
    2023-09-27
    python 爬虫 pdf
  • python实现批量重命名文件
    #!/usr/bin/env python # -*- coding:UTF-8 -*- import os # 第一种方法 files = os.listdir('.') i = 1 for f in files:     filenam...
    99+
    2023-01-31
    批量 重命名 文件
  • python实现文件批量重命名
    本文实例为大家分享了python实现文件批量重命名,供大家参考,具体内容如下 讲解 1、库:os 2、代码效果:对指定文件夹内所有文件重命名为1,2,3… 3、代码原理:使用os.l...
    99+
    2024-04-02
  • Python实现文件名批量处理
    我们知道文件名是可以手动修改的,但是如果要同时修改多个文件名,那一个一个修改会浪费掉很多时间,此时我们就可以考虑使用python来实现文件名的批量处理。想要批量处理文件名首先确定需要处理的文件名,以及确定处理后新的文件名,这样就可以开始处理...
    99+
    2023-06-02
  • 利用Python的tkinter模块实现界面化的批量修改文件名
    用Python编写过批量修改文件名的脚本程序,代码很简单,运行也比较快,唯一美中不足之处是每次批量修改文件名时都需要执行以下步骤: 1)复制文件夹路径;2)打开脚本程序3)替换脚本中...
    99+
    2024-04-02
  • 如何利用Redis实现分布式文件存储
    如何利用Redis实现分布式文件存储在分布式系统中,大规模的文件存储是一个常见的需求。Redis作为一个高性能的缓存和存储系统,具有快速、可靠和可扩展的特点,非常适合用来实现分布式文件存储。本文将介绍如何利用Redis实现分布式文件存储,并...
    99+
    2023-11-07
    分布式 redis 文件存储
  • 利用java怎么实现文件的批量导入导出
    利用java怎么实现文件的批量导入导出?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、介绍利用java实现文件的导入导出数据库,目前在大部分系统中是比较常见的功能了,今天...
    99+
    2023-05-31
    java ava
  • RocketMQ存储文件的实现
    RocketMQ存储路径默认是${ROCKRTMQ_HOME}/store,主要存储消息、主题对应的消息队列的索引等。 1、概述 查看其目录文件 commitlog:消息...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作