用python编写一个复杂点的程序。能够实现,获取文件路径,进行提取文件哈希值为特征码,且能输出特征码。补充:文件路径要求绝对路径。
时间: 2024-02-12 07:05:43 浏览: 65
Python实现通过文件路径获取文件hash值的方法
好的,以下是一个更复杂的基于Python的文件哈希值提取程序,它能够获取绝对路径下的所有文件,计算每个文件的MD5、SHA1和SHA256哈希值作为特征码,并将特征码输出到控制台:
```python
import os
import hashlib
def hash_file(filename):
# 读取文件内容并计算MD5、SHA1和SHA256哈希值
with open(filename, 'rb') as f:
md5 = hashlib.md5()
sha1 = hashlib.sha1()
sha256 = hashlib.sha256()
while True:
data = f.read(8192)
if not data:
break
md5.update(data)
sha1.update(data)
sha256.update(data)
# 返回特征码
return md5.hexdigest(), sha1.hexdigest(), sha256.hexdigest()
def hash_folder(folder_path):
# 遍历文件夹下的所有文件并计算哈希值
for root, dirs, files in os.walk(folder_path):
for file in files:
# 获取文件路径并计算哈希值
file_path = os.path.join(root, file)
md5, sha1, sha256 = hash_file(file_path)
# 输出特征码
print('File: ', file_path)
print('MD5: ', md5)
print('SHA1: ', sha1)
print('SHA256: ', sha256)
print('-' * 50)
if __name__ == '__main__':
# 获取绝对路径下的所有文件并计算哈希值
folder_path = '/absolute/path/to/folder'
hash_folder(folder_path)
```
你需要将`/absolute/path/to/folder`替换成你要提取特征码的文件夹的绝对路径,然后运行程序即可得到文件夹下所有文件的MD5、SHA1和SHA256哈希值作为特征码。程序会递归遍历子文件夹,并将每个文件的特征码输出到控制台。
阅读全文