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


Posted in Python onJuly 27, 2019
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计算windows全盘文件md5值的脚本

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

Python 相关文章推荐
使用Python抓取模板之家的CSS模板
Mar 16 Python
用Python的pandas框架操作Excel文件中的数据教程
Mar 31 Python
python提取字典key列表的方法
Jul 11 Python
图文讲解选择排序算法的原理及在Python中的实现
May 04 Python
Python3.6.2调用ffmpeg的方法
Jan 10 Python
python实现烟花小程序
Jan 30 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 Python
python实现发送邮件
Mar 02 Python
OpenCV-Python实现怀旧滤镜与连环画滤镜
Jun 09 Python
详解pytorch创建tensor函数
Mar 22 Python
Djang的model创建的字段和参数详解
Jul 27 #Python
python中bs4.BeautifulSoup的基本用法
Jul 27 #Python
Django的Modelforms用法简介
Jul 27 #Python
在django admin中添加自定义视图的例子
Jul 26 #Python
深入了解Django中间件及其方法
Jul 26 #Python
如何在Django项目中引入静态文件
Jul 26 #Python
Python 画出来六维图
Jul 26 #Python
You might like
PHP实现网上点歌(二)
2006/10/09 PHP
php 设计模式之 单例模式
2008/12/19 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
2018/10/23 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
2019/10/03 PHP
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
angularjs基础教程
2014/12/25 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
2016/11/09 Javascript
vue引入swiper插件的使用实例
2017/07/19 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
解决vue同一slot在组件中渲染多次的问题
2018/09/06 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
Python 正则表达式操作指南
2009/05/04 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
python3编写ThinkPHP命令执行Getshell的方法
2019/02/26 Python
python实现串口自动触发工作的示例
2019/07/02 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
python绘制规则网络图形实例
2019/12/09 Python
python requests.get带header
2020/05/05 Python
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
一份比较全的PHP面试题
2016/07/29 面试题
大学旷课检讨书
2014/01/28 职场文书
秋季运动会稿件
2014/01/30 职场文书
银行纠风工作实施方案
2014/06/08 职场文书
竞聘自述材料
2014/08/25 职场文书
升职感谢信
2015/01/22 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
初中团委工作总结
2015/08/13 职场文书
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server