Получить MD5 ha sh из файлов, а не из каталогов папок в python - PullRequest
0 голосов
/ 26 мая 2020

Я хочу вычислить 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)



...