Найти - Пользователи
Полная версия: Подсчет комбинаций байт в бинарном файле
Начало » Python для новичков » Подсчет комбинаций байт в бинарном файле
1
jo_big_jo
Здравствуйте. Подскажите начинающему ..
Хочу подсчитать кол-во комбинаций байтов в формате hex в файле с помощью метода .count().
Но после преобразования очередного числа из цикла к требуемому виду, то возникает вполне логичная)) ошибка несовместимости типов:
TypeError: argument should be integer or bytes-like object, not ‘str’
вот часть кода

with open('123.bin', ‘rb’) as binary_file:
i = 0
found = # список куда будем сохранять рез. расчетов
… for i in range(256):
……..for_count = “b'” + str(hex(i)) + “'” # чтоб привести к виду- b'\x00'
……..cnt = binary_file.read().count(for_count) # так работает: cnt = binary_file.read().count(b'\x00'),
# но нужно по циклу все байты посчитать
Как зациклить расчет или правильно преобразовать тип?
Спасибо.
py.user.next
  
>>> for i in range(256):
...     byte = bytes([i])
...     print(byte)
... 
b'\x00'
b'\x01'
b'\x02'
b'\x03'
b'\x04'
b'\x05'
b'\x06'
b'\x07'
b'\x08'
b'\t'
b'\n'
b'\x0b'
b'\x0c'
b'\r'
b'\x0e'
b'\x0f'
b'\x10'
b'\x11'
b'\x12'
b'\x13'
b'\x14'
b'\x15'
b'\x16'
b'\x17'
b'\x18'
b'\x19'
b'\x1a'
b'\x1b'
b'\x1c'
b'\x1d'
b'\x1e'
b'\x1f'
b' '
b'!'
b'"'
b'#'
b'$'
b'%'
b'&'
b"'"
b'('
b')'
b'*'
b'+'
b','
b'-'
b'.'
b'/'
b'0'
b'1'
b'2'
b'3'
b'4'
b'5'
b'6'
b'7'
b'8'
b'9'
b':'
b';'
b'<'
b'='
b'>'
b'?'
b'@'
b'A'
b'B'
b'C'
b'D'
b'E'
b'F'
b'G'
b'H'
b'I'
b'J'
b'K'
b'L'
b'M'
b'N'
b'O'
b'P'
b'Q'
b'R'
b'S'
b'T'
b'U'
b'V'
b'W'
b'X'
b'Y'
b'Z'
b'['
b'\\'
b']'
b'^'
b'_'
b'`'
b'a'
b'b'
b'c'
b'd'
b'e'
b'f'
b'g'
b'h'
b'i'
b'j'
b'k'
b'l'
b'm'
b'n'
b'o'
b'p'
b'q'
b'r'
b's'
b't'
b'u'
b'v'
b'w'
b'x'
b'y'
b'z'
b'{'
b'|'
b'}'
b'~'
b'\x7f'
b'\x80'
b'\x81'
b'\x82'
b'\x83'
b'\x84'
b'\x85'
b'\x86'
b'\x87'
b'\x88'
b'\x89'
b'\x8a'
b'\x8b'
b'\x8c'
b'\x8d'
b'\x8e'
b'\x8f'
b'\x90'
b'\x91'
b'\x92'
b'\x93'
b'\x94'
b'\x95'
b'\x96'
b'\x97'
b'\x98'
b'\x99'
b'\x9a'
b'\x9b'
b'\x9c'
b'\x9d'
b'\x9e'
b'\x9f'
b'\xa0'
b'\xa1'
b'\xa2'
b'\xa3'
b'\xa4'
b'\xa5'
b'\xa6'
b'\xa7'
b'\xa8'
b'\xa9'
b'\xaa'
b'\xab'
b'\xac'
b'\xad'
b'\xae'
b'\xaf'
b'\xb0'
b'\xb1'
b'\xb2'
b'\xb3'
b'\xb4'
b'\xb5'
b'\xb6'
b'\xb7'
b'\xb8'
b'\xb9'
b'\xba'
b'\xbb'
b'\xbc'
b'\xbd'
b'\xbe'
b'\xbf'
b'\xc0'
b'\xc1'
b'\xc2'
b'\xc3'
b'\xc4'
b'\xc5'
b'\xc6'
b'\xc7'
b'\xc8'
b'\xc9'
b'\xca'
b'\xcb'
b'\xcc'
b'\xcd'
b'\xce'
b'\xcf'
b'\xd0'
b'\xd1'
b'\xd2'
b'\xd3'
b'\xd4'
b'\xd5'
b'\xd6'
b'\xd7'
b'\xd8'
b'\xd9'
b'\xda'
b'\xdb'
b'\xdc'
b'\xdd'
b'\xde'
b'\xdf'
b'\xe0'
b'\xe1'
b'\xe2'
b'\xe3'
b'\xe4'
b'\xe5'
b'\xe6'
b'\xe7'
b'\xe8'
b'\xe9'
b'\xea'
b'\xeb'
b'\xec'
b'\xed'
b'\xee'
b'\xef'
b'\xf0'
b'\xf1'
b'\xf2'
b'\xf3'
b'\xf4'
b'\xf5'
b'\xf6'
b'\xf7'
b'\xf8'
b'\xf9'
b'\xfa'
b'\xfb'
b'\xfc'
b'\xfd'
b'\xfe'
b'\xff'
>>>

  
>>> for i in range(256):
...     byte = bytes([i])
...     data = b'\x00\x40\x00\x01\x09\xff'
...     print(byte, '->', data, '->', data.count(byte))
... 
b'\x00' -> b'\x00@\x00\x01\t\xff' -> 2
b'\x01' -> b'\x00@\x00\x01\t\xff' -> 1
b'\x02' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x03' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x04' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x05' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x06' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x07' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x08' -> b'\x00@\x00\x01\t\xff' -> 0
b'\t' -> b'\x00@\x00\x01\t\xff' -> 1
b'\n' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x0b' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x0c' -> b'\x00@\x00\x01\t\xff' -> 0
b'\r' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x0e' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x0f' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x10' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x11' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x12' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x13' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x14' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x15' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x16' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x17' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x18' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x19' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x1a' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x1b' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x1c' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x1d' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x1e' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x1f' -> b'\x00@\x00\x01\t\xff' -> 0
b' ' -> b'\x00@\x00\x01\t\xff' -> 0
b'!' -> b'\x00@\x00\x01\t\xff' -> 0
b'"' -> b'\x00@\x00\x01\t\xff' -> 0
b'#' -> b'\x00@\x00\x01\t\xff' -> 0
b'$' -> b'\x00@\x00\x01\t\xff' -> 0
b'%' -> b'\x00@\x00\x01\t\xff' -> 0
b'&' -> b'\x00@\x00\x01\t\xff' -> 0
b"'" -> b'\x00@\x00\x01\t\xff' -> 0
b'(' -> b'\x00@\x00\x01\t\xff' -> 0
b')' -> b'\x00@\x00\x01\t\xff' -> 0
b'*' -> b'\x00@\x00\x01\t\xff' -> 0
b'+' -> b'\x00@\x00\x01\t\xff' -> 0
b',' -> b'\x00@\x00\x01\t\xff' -> 0
b'-' -> b'\x00@\x00\x01\t\xff' -> 0
b'.' -> b'\x00@\x00\x01\t\xff' -> 0
b'/' -> b'\x00@\x00\x01\t\xff' -> 0
b'0' -> b'\x00@\x00\x01\t\xff' -> 0
b'1' -> b'\x00@\x00\x01\t\xff' -> 0
b'2' -> b'\x00@\x00\x01\t\xff' -> 0
b'3' -> b'\x00@\x00\x01\t\xff' -> 0
b'4' -> b'\x00@\x00\x01\t\xff' -> 0
b'5' -> b'\x00@\x00\x01\t\xff' -> 0
b'6' -> b'\x00@\x00\x01\t\xff' -> 0
b'7' -> b'\x00@\x00\x01\t\xff' -> 0
b'8' -> b'\x00@\x00\x01\t\xff' -> 0
b'9' -> b'\x00@\x00\x01\t\xff' -> 0
b':' -> b'\x00@\x00\x01\t\xff' -> 0
b';' -> b'\x00@\x00\x01\t\xff' -> 0
b'<' -> b'\x00@\x00\x01\t\xff' -> 0
b'=' -> b'\x00@\x00\x01\t\xff' -> 0
b'>' -> b'\x00@\x00\x01\t\xff' -> 0
b'?' -> b'\x00@\x00\x01\t\xff' -> 0
b'@' -> b'\x00@\x00\x01\t\xff' -> 1
b'A' -> b'\x00@\x00\x01\t\xff' -> 0
b'B' -> b'\x00@\x00\x01\t\xff' -> 0
b'C' -> b'\x00@\x00\x01\t\xff' -> 0
b'D' -> b'\x00@\x00\x01\t\xff' -> 0
b'E' -> b'\x00@\x00\x01\t\xff' -> 0
b'F' -> b'\x00@\x00\x01\t\xff' -> 0
b'G' -> b'\x00@\x00\x01\t\xff' -> 0
b'H' -> b'\x00@\x00\x01\t\xff' -> 0
b'I' -> b'\x00@\x00\x01\t\xff' -> 0
b'J' -> b'\x00@\x00\x01\t\xff' -> 0
b'K' -> b'\x00@\x00\x01\t\xff' -> 0
b'L' -> b'\x00@\x00\x01\t\xff' -> 0
b'M' -> b'\x00@\x00\x01\t\xff' -> 0
b'N' -> b'\x00@\x00\x01\t\xff' -> 0
b'O' -> b'\x00@\x00\x01\t\xff' -> 0
b'P' -> b'\x00@\x00\x01\t\xff' -> 0
b'Q' -> b'\x00@\x00\x01\t\xff' -> 0
b'R' -> b'\x00@\x00\x01\t\xff' -> 0
b'S' -> b'\x00@\x00\x01\t\xff' -> 0
b'T' -> b'\x00@\x00\x01\t\xff' -> 0
b'U' -> b'\x00@\x00\x01\t\xff' -> 0
b'V' -> b'\x00@\x00\x01\t\xff' -> 0
b'W' -> b'\x00@\x00\x01\t\xff' -> 0
b'X' -> b'\x00@\x00\x01\t\xff' -> 0
b'Y' -> b'\x00@\x00\x01\t\xff' -> 0
b'Z' -> b'\x00@\x00\x01\t\xff' -> 0
b'[' -> b'\x00@\x00\x01\t\xff' -> 0
b'\\' -> b'\x00@\x00\x01\t\xff' -> 0
b']' -> b'\x00@\x00\x01\t\xff' -> 0
b'^' -> b'\x00@\x00\x01\t\xff' -> 0
b'_' -> b'\x00@\x00\x01\t\xff' -> 0
b'`' -> b'\x00@\x00\x01\t\xff' -> 0
b'a' -> b'\x00@\x00\x01\t\xff' -> 0
b'b' -> b'\x00@\x00\x01\t\xff' -> 0
b'c' -> b'\x00@\x00\x01\t\xff' -> 0
b'd' -> b'\x00@\x00\x01\t\xff' -> 0
b'e' -> b'\x00@\x00\x01\t\xff' -> 0
b'f' -> b'\x00@\x00\x01\t\xff' -> 0
b'g' -> b'\x00@\x00\x01\t\xff' -> 0
b'h' -> b'\x00@\x00\x01\t\xff' -> 0
b'i' -> b'\x00@\x00\x01\t\xff' -> 0
b'j' -> b'\x00@\x00\x01\t\xff' -> 0
b'k' -> b'\x00@\x00\x01\t\xff' -> 0
b'l' -> b'\x00@\x00\x01\t\xff' -> 0
b'm' -> b'\x00@\x00\x01\t\xff' -> 0
b'n' -> b'\x00@\x00\x01\t\xff' -> 0
b'o' -> b'\x00@\x00\x01\t\xff' -> 0
b'p' -> b'\x00@\x00\x01\t\xff' -> 0
b'q' -> b'\x00@\x00\x01\t\xff' -> 0
b'r' -> b'\x00@\x00\x01\t\xff' -> 0
b's' -> b'\x00@\x00\x01\t\xff' -> 0
b't' -> b'\x00@\x00\x01\t\xff' -> 0
b'u' -> b'\x00@\x00\x01\t\xff' -> 0
b'v' -> b'\x00@\x00\x01\t\xff' -> 0
b'w' -> b'\x00@\x00\x01\t\xff' -> 0
b'x' -> b'\x00@\x00\x01\t\xff' -> 0
b'y' -> b'\x00@\x00\x01\t\xff' -> 0
b'z' -> b'\x00@\x00\x01\t\xff' -> 0
b'{' -> b'\x00@\x00\x01\t\xff' -> 0
b'|' -> b'\x00@\x00\x01\t\xff' -> 0
b'}' -> b'\x00@\x00\x01\t\xff' -> 0
b'~' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x7f' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x80' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x81' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x82' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x83' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x84' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x85' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x86' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x87' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x88' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x89' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x8a' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x8b' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x8c' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x8d' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x8e' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x8f' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x90' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x91' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x92' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x93' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x94' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x95' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x96' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x97' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x98' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x99' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x9a' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x9b' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x9c' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x9d' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x9e' -> b'\x00@\x00\x01\t\xff' -> 0
b'\x9f' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xa0' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xa1' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xa2' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xa3' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xa4' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xa5' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xa6' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xa7' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xa8' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xa9' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xaa' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xab' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xac' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xad' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xae' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xaf' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xb0' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xb1' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xb2' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xb3' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xb4' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xb5' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xb6' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xb7' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xb8' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xb9' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xba' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xbb' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xbc' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xbd' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xbe' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xbf' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xc0' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xc1' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xc2' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xc3' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xc4' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xc5' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xc6' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xc7' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xc8' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xc9' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xca' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xcb' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xcc' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xcd' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xce' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xcf' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xd0' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xd1' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xd2' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xd3' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xd4' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xd5' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xd6' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xd7' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xd8' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xd9' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xda' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xdb' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xdc' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xdd' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xde' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xdf' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xe0' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xe1' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xe2' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xe3' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xe4' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xe5' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xe6' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xe7' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xe8' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xe9' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xea' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xeb' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xec' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xed' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xee' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xef' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xf0' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xf1' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xf2' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xf3' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xf4' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xf5' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xf6' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xf7' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xf8' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xf9' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xfa' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xfb' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xfc' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xfd' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xfe' -> b'\x00@\x00\x01\t\xff' -> 0
b'\xff' -> b'\x00@\x00\x01\t\xff' -> 1
>>>
jo_big_jo
Спасибо большое!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB