Ошибка с dhash.get_num_bits_different - PullRequest
0 голосов
/ 10 мая 2018

Я следил за этой библиотекой "dhash" , но получить ошибку при использовании его dhash.get_num_bits_different:

def get_num_bits_different(hash1, hash2):
    return bin(hash1 ^ hash2).count('1')

hash1 = '3d77xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
hash2 = '9301xxxxxxxxxxxxxxxxxxxxxxxxxxxx'

get_num_bits_different(hash1, hash2)
>>
TypeError: unsupported operand type(s) for ^: 'str' and 'str'

1 Ответ

0 голосов
/ 10 мая 2018

Преобразовать строку в тип int:

get_num_bits_different(int(hash1, 16), int(hash2, 16))

Тестовый код:

def get_num_bits_different(hash1, hash2):
    return bin(hash1 ^ hash2).count('1')

hash1 = '3d77'
hash2 = '9301'

print(get_num_bits_different(int(hash1, 16), int(hash2, 16)))

Результаты:

10
...