首页 > 编程 > Python > 正文

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

2019-11-25 12:12:33
字体:
来源:转载
供稿:网友
import hashlibimport osimport timeimport configparserimport 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

结果如下

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表