利用python计算windows全盘文件md5值的脚本

 更新时间:2019年07月27日 11:16:35   作者:bainianminguo  
这篇文章主要介绍了利用python计算windows全盘文件md5值的脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
import hashlib
import os
import time
import configparser
import uuid
 
def test_file_md5(file_path):
  test = hashlib.md5()
 
  if os.path.isfile(file_path):
    with open(file_path, "rb") as f:
      while True:
        data = f.read(8096)
        if not data:
          break
        else:
          test.update(data)
      ret = test.hexdigest()
      config = configparser.ConfigParser()
 
      config.read("E:/python/pycharm/再开次开始/前端/test_md5.ini",encoding="utf-8")
      if config.has_section(os.path.basename(file_path)):
        new_section_name = str(os.path.basename(file_path)) + ":" + str(uuid.uuid4())
        config[new_section_name] = {"文件路径":os.path.dirname(file_path),
                 "md5值":ret}
      else:
        config[os.path.basename(file_path)] = {"文件路径": os.path.dirname(file_path),
                        "md5值": ret}
      config.write(open("E:/python/pycharm/再开次开始/前端/test_md5.ini","w",encoding="utf-8"))
 
 
 
def test_dir_md5(file_path):
  test_abs_path = os.path.abspath(file_path)
  # print(test_abs_path)
  os.chdir(test_abs_path)
  for file in os.listdir(os.getcwd()):
    if os.path.isfile(file):
      test_file_md5(os.path.abspath(file))
    elif os.path.isdir(file):
      test_dir_md5(os.path.abspath(file))
    else:
      pass
  # return True
 
 
if __name__ == '__main__':
  began_path = os.getcwd()
  test_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(began_path))))
  os.chdir(test_path)
  print(os.listdir())
  for test_file in os.listdir():
    os.chdir(test_path)
    if os.path.abspath(test_file).startswith("E:\\$"):
      continue
    else:
      if os.path.isfile(test_file):
        # print("yyyyy")
        test_file_md5(os.path.abspath(test_file))
      elif os.path.isdir(test_file):
        # print("hahah")
        test_dir_md5(os.path.abspath(test_file))
        # print(os.path.abspath(test_file))
      else:
        pass

结果如下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • python入门课程第一讲之安装与优缺点介绍

    python入门课程第一讲之安装与优缺点介绍

    这篇文章主要介绍了python入门课程第一讲之安装与优缺点,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Python 字典判断空的解决方案

    Python 字典判断空的解决方案

    这段代码定义了一个使用Any类型注解的字典task_map,并通过条件判断检查它是否为空,如果为空,则打印1111,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • python导出requirements.txt的几种方法以及环境配置详细流程

    python导出requirements.txt的几种方法以及环境配置详细流程

    这篇文章主要给大家介绍了关于python导出requirements.txt的几种方法以及环境配置详细流程,requirements.txt 文件是一个文本文件,用于列出你的Python项目所依赖的软件包及其版本,需要的朋友可以参考下
    2023-11-11
  • python之文件读取一行一行的方法

    python之文件读取一行一行的方法

    今天小编就为大家分享一篇python之文件读取一行一行的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python OpenCV 直方图的计算与显示的方法示例

    Python OpenCV 直方图的计算与显示的方法示例

    这篇文章主要介绍了Python OpenCV 直方图的计算与显示的方法示例,主要介绍用NumPy和Matplotlib计算和绘制直方图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python中用于转换字母为小写的lower()方法使用简介

    Python中用于转换字母为小写的lower()方法使用简介

    这篇文章主要介绍了Python中用于转换字母为小写的lower()方法使用,是Python学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python浅复制中对象生存周期实例分析

    Python浅复制中对象生存周期实例分析

    这篇文章主要介绍了Python浅复制中对象生存周期,结合实例形式分析了Python面向对象中的浅复制操作时对象的生命周期问题,需要的朋友可以参考下
    2018-04-04
  • python的pandas工具包,保存.csv文件时不要表头的实例

    python的pandas工具包,保存.csv文件时不要表头的实例

    今天小编小编就为大家分享一篇python的pandas工具包,保存.csv文件时不要表头的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python去除字符串中空格的6种常用方法

    python去除字符串中空格的6种常用方法

    最近业务需要对Pyhon中的一些字符串内容去除空格,方便后续处理,下面这篇文章主要给大家介绍了关于python去除字符串中空格的6种常用方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Python复制Excel中的行、列和单元格的操作代码

    Python复制Excel中的行、列和单元格的操作代码

    在Excel中,复制行、列和单元格是日常工作中经常需要进行的操作,它可以帮助你快速调整数据布局、复制数据模板或进行数据的批量处理,本文将详细介绍如何使用Python将Excel中的行、列、或单元格范围复制到指定位置,需要的朋友可以参考下
    2024-09-09

最新评论