【发布时间】:2021-11-25 15:33:04
【问题描述】:
我是 python 新手。我想问一下,如何在带有子目录的目录中获取所有文件 md5 哈希?目前我的编码只能获取文件夹中文件的 md5 哈希值。任何建议或代码需要进行更改?以下是我的编码:
import hashlib
import glob
import os.path
filenames = glob.glob('C:/Users/User/Desktop/irustesting/*')
def md5(fname):
hash_md5 = hashlib.md5()
with open(fname, "rb") as f:
for chunk in iter(lambda: f.read(2 ** 20), b""):
hash_md5.update(chunk)
return hash_md5.hexdigest()
viruslist = open('C:/FYP/SecuCOM2022/viruslist.txt','rt')
virusinside = [l.rstrip() for l in viruslist]
virus="detected"
novirus="clear"
for filename in filenames:
print(filename, md5(filename))
if md5(filename) in virusinside:
print(virus)
os.remove(filename)
else:
print(novirus)
【问题讨论】:
-
docs.python.org/3/library/os.html#os.walk 递归遍历所有目录,使用 os.walk