Я хочу вычислить MD5 ha sh для всех файлов, перечисленных в каталоге, и игнорировать любые пути, которые не являются файлами. Ссылаясь на предыдущий пост Как я могу вычислить ha sh для каталога файловой системы, используя Python? , я разбираю следующие коды в моем списке путей к файлам, содержащем сочетание путей к файлам, подпапки и пути к каталогам.
Возвращает ошибку 'IsADirectoryError: [Errno 21] Is a directory: '/Users/xyz/Documents/xyz'
. Как я могу получить значения ha sh файлов, если пути к каталогам не вызывают ошибку?
from pathlib import Path
import hashlib
def md5sum(filepath):
md5 = hashlib.md5()
if filepath.is_file:
with open(str(filepath), 'rb') as f:
for chunk in iter(lambda: f.read(128 * md5.block_size), b''):
md5.update(chunk)
return md5.hexdigest()
elif path.is_dir():
return False
testmd5 = []
p = Path('/Users/xyz/Documents/xyz')
for i in p.glob('**/*'):
firstgo = md5_dir(i)