Создание 1-байтовых данных с использованием struct.pack в python

#python #struct #hex #byte #pack

#python #структура #шестнадцатеричный #байт #пакет

Вопрос:

Я новичок в программировании на python и пишу скрипт, который использует struct.pack() для преобразования числа с плавающей запятой в шестнадцатеричную строку. Я должен упаковать это число с плавающей запятой в 1 байт. Я понимаю, что размер float составляет 4 байта. Но есть ли способ сохранить значение 0,1 в виде 1 байта с помощью struct.pack().

Я попробовал следующее, но это выдает ошибку.

 struct.pack('!B', 0.1)
  

Если нет, есть ли какой-либо альтернативный подход для сохранения его как ЦЕЛОГО числа в 1 байт?
Я был бы очень признателен за любую помощь.

Комментарии:

1. Можете ли вы опубликовать ошибку?

2. Я не думаю, что struct — это то, что вам нужно, вам нужен свой собственный формат, с 1 байтом вы теряете много точности, вам нужно реализовать функции дампа и загрузки, чтобы ваш формат содержался в 1 байте…

3. @AnnZen, вот ошибка: struct.error: аргумент для ‘s’ должен быть объектом bytes