Формат Python () в сочетании с объединением и преобразованием данных - PullRequest
0 голосов
/ 28 сентября 2019

Этот код Python дает именно то, что я хочу:

a_hex_str = ':'.join('%02x' % b for b in a_bytes)

, который является строкой байтовых значений в байтовом массиве a_bytes, напечатанном в шестнадцатеричном формате с двоеточием между каждым значением.

Я схожу с ума, пытаясь получить тот же вывод, используя новую функцию format () вместо старого%, но все мои попытки дают ошибки.

Я был бы очень благодарен за помощь.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2019
a_hex_str = ':'.join('{:02x}'.format(b) for b in a_bytes)

Я адаптировал ответ от /6747659/formatirovat-tselye-chisla-v-shestnadtsaterichnuy-stroku

Я не осознавал, что мне нужно двоеточие внутри фигурных скобок, в противном случае это выдает ошибку вне диапазона.

0 голосов
/ 28 сентября 2019
a_hex_str = ':'.join('{}02x'.format(b) for b in a_bytes)

Попробуйте эту строку, надеюсь, она будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...