Уважаемые форумчане! Требуется ваша помощь!
Хочу разобраться с файловым хранилищем, удалить дубликаты файлов. Написал программу обходящую дерево директорий. Застрял на этапе вычисления хэшей, дело в том, что имена файлов содержат не только алфавитные символы и цифры, а также пробелы и спецсимволы. Сначала Python останавливался на первом же проблемном файле, позже я дописал try / except, и теперь он доходит до конца, пропуская проблемные файлы, но меня это не устраивает!
Язык: Python 3
#! /usr/bin/env python3
import subprocess
try:
hash = subprocess.check_output('md5sum -- "{}"'.format(file), universal_newlines=True, shell=True)[:32]
except Exception:
print('Проблемный файл {}'.format(file))
С hashlib пока не получается, проблем много создаёт, поэтому пока пришлось воспользоваться стандартной утилитой md5sum. Может подскажете заодно как решить проблему с применением hashlib.