gpt4 book ai didi

python - 如何获取文件夹中的所有文件并在 python 中获取它们的 MD5 哈希值?

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:52 32 4
gpt4 key购买 nike

我正在尝试编写一些代码来获取文件夹中每个 exe 文件的 md5。

我的问题是我不知道该怎么做。仅当文件夹仅包含一个文件时才有效。这是我的代码:

import glob
import hashlib
file = glob.glob("/root/PycharmProjects/untitled1/*.exe")

newf = str (file)
newf2 = newf.strip( '[]' )
newf3 = newf2.strip("''")

with open(newf3,'rb') as getmd5:
data = getmd5.read()
gethash= hashlib.md5(data).hexdigest()
print gethash

我得到了结果:

a7f4518aae539254061e45424981e97c

我想知道如何对文件夹中的多个文件执行此操作。

最佳答案

glob.glob 返回文件列表。只需使用 for 遍历列表:

import glob
import hashlib

filenames = glob.glob("/root/PycharmProjects/untitled1/*.exe")

for filename in filenames:
with open(filename, 'rb') as inputfile:
data = inputfile.read()
print(filename, hashlib.md5(data).hexdigest())

请注意,如果您碰巧在该目录中有一个大文件,这可能会耗尽您的内存,所以它是 better to read the file in smaller chunks (此处针对 1 MiB block 进行了调整):

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()

for filename in filenames:
print(filename, md5(filename))

关于python - 如何获取文件夹中的所有文件并在 python 中获取它们的 MD5 哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36099331/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com