2016-09-24 7 views
0

Я пытаюсь прочитать файл в двоичном формате и вернуть, например, «ffffff» серию из шести шестнадцатеричных кодов. Имеет ли это смысл? Код у меня есть (ниже) только возвращает список 2, так это выглядит как «фф»Python binary to multi- hex

fp = open(f, 'rb') 
hex_list = ("{:02x}".format(ord(c)) for c in fp.read()) 

я специально ищу, чтобы сделать это возвращение что-то вроде

['ab0012', 'ffbaf0'] 

не нравится

['ab', '00', '12', 'ff', 'ba', 'f0'] 

любая помощь будет оценена благодаря.

+0

Рассматривали ли вы чтение 3 байта в то время? –

+0

Можете ли вы привести пример того, что вы имеете в виду? – killer

ответ

1

Как об этом:

fp = open(f, 'rb') 
hex_list = ["{:02x}".format(ord(c)) for c in fp.read()] 
return [''.join(hex_list[n:n+3]) for n in range(0, len(hex_list), 3)] 
+0

aha Мне нравится, как вы думаете Спасибо. если вы найдете более прямой способ сделать это, хотя, пожалуйста, дайте мне знать еще раз спасибо – killer