#python
#python
Вопрос:
Это мой код z = (priv.to_string().encode('hex'))
, и я получил эту ошибку:
"AttributeError: 'bytes' object has no attribute 'encode'"
похоже, я что-то пропустил, чтобы показать «encode» после кода:
z = (priv.to_string().
Комментарии:
1. Что такое
priv
‘s type? Попробуйтеstr(priv)
, а неpriv.to_string()
2. это строка, я ставлю hex() после «z = (priv.to_string(). и after .encode теперь это мой код, и все в порядке «z = (priv.to_string().hex().encode (hex()) но у меня синтаксическая ошибка вмой следующий вывод кода, вот мой следующий код «print («закрытый ключ = » z » » «адрес = 0x» адрес)»
Ответ №1:
Здесь две проблемы:
- вы используете
priv.to_string()
(который не является встроенным методом) вместоstr(priv)
'hex'
был удален как кодировка в Python 3, поэтому приstr(priv).encode('hex')
этом вы получите следующую ошибку:LookupError: 'hex' is not a text encoding; use codecs.encode()to handle arbitrary codecs
Однако, начиная с Python 3.5, вы можете просто сделать:
priv.hex()
с priv
байтовой строкой.
Пример:
priv = b'test'
print(priv.hex())
Выходной сигнал:
74657374
Комментарии:
1. Я изменил свой код: «z = str (priv.to_string().hex().encode ())» и это работает! большое спасибо!
Ответ №2:
в системах Python3 старше версии 3.5 вы можете from binascii import hexlify
и использовать hexlify(priv.to_string())