Module (42%)
Section (67%)

Как читать байты из потока

Альтернативный способ чтения содержимого двоичного файла предлагает метод с именем read().

Вызванный без аргументов, он пытается прочитать все содержимое файла в память, сделав их частью вновь созданного объекта класса bytes.

Этот класс имеет некоторые сходства с bytearray, за исключением одного существенного различия - он неизменный.

К счастью, нет никаких препятствий для создания байтового массива путем получения его начального значения непосредственно из объекта байтов, как здесь:

from os import strerror try: binary_file = open('file.bin', 'rb') data = bytearray(binary_file.read()) binary_file.close() for b in data: print(hex(b), end=' ') except IOError as e: print("I/O error occurred:", strerror(e.errno))

Будьте осторожны - не используйте этот тип чтения, если Вы не уверены, что содержимое файла будет соответствовать доступной памяти.



Code

from os import strerror

data = bytearray(10)

for i in range(len(data)):
data[i] = 10 + i

try:
binary_file = open('file.bin', 'wb')
binary_file.write(data)
binary_file.close()
except IOError as e:
print("I/O error occurred:", strerror(e.errno))

# Your code that reads bytes from the stream should go here.
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×