Изменение размера байтов в питоне - PullRequest
0 голосов
/ 13 июня 2018

Я читаю файл с диска и в случае, если его размер меньше 256 байт, мне нужно его расширить.Некоторые думают, как:

data = open("test.txt", "rb").read()
if ( len(data) < 256  ):
    data.resize( 256 ) # Fill with zeroes or something

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

Мне не нужно изменять исходный файл, мне нужны len (данные), чтобыбыть не менее 256 для дальнейшей обработки.

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Если вы хотите расширить его пробелами:

data = open("test.txt", "rb").read()
padding_character = ' '  # space
data += padding_character*(256-len(data))
0 голосов
/ 13 июня 2018

Вы можете использовать zfill для строк и байтов:

data = b'abc'
data = data.zfill(20) # or 256 in your case
print(data)
# b'00000000000000000abc'

Примечание. Если длина данных уже составляет 256 (или любое другое значение, которое вы используете) или больше, zfill вернет оригиналобъект.

Документы: https://docs.python.org/3/library/stdtypes.html#bytes.zfill

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