利用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中尾递归用法实例详解
Apr 28 Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
Jul 12 Python
python中OrderedDict的使用方法详解
May 05 Python
python 内置函数filter
Jun 01 Python
PyCharm设置护眼背景色的方法
Oct 29 Python
Python3 chardet模块查看编码格式的例子
Aug 14 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
Python使用plt.boxplot() 参数绘制箱线图
Jun 04 Python
python中如何使用虚拟环境
Oct 14 Python
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
Apr 04 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
Dec 24 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
星际实力自我测试
2020/03/04 星际争霸
在字符串中把网址改成超级链接
2006/10/09 PHP
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
PHP操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
php自动注册登录验证机制实现代码
2011/12/20 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
PHP常用的三种设计模式
2017/02/17 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
提示$ is not defined错误分析及解决
2013/04/09 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
2017/09/21 jQuery
React-intl 实现多语言的示例代码
2017/11/03 Javascript
javascript中的闭包概念与用法实践分析
2019/07/26 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
js实现点击烟花特效
2020/10/14 Javascript
[02:39]DOTA2国际邀请赛助威团西雅图第一天
2013/08/08 DOTA
Python Web服务器Tornado使用小结
2014/05/06 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
python实现在线翻译
2020/06/18 Python
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
毕业典礼主持词大全
2014/03/26 职场文书
团日活动总结报告
2014/06/25 职场文书
机械设备与数控技术专业求职信
2014/08/10 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL
解决 Redis 秒杀超卖场景的高并发
2022/04/12 Redis