bin запись не переводит цифру 0 в Unicode, а также 0 в виде текста

Я Хочу Сгенерировать Зашифрованый Текст, Но Немогу Из-за Того, Что при записи в bin файл, он не записывает 0, как число, а также не перводит его из числа в unicode, и также с тестовым 0.

# Открою Фаил Для Генерации Лицензий =)

MyFile = open('BinLicense.bin', 'wb')

# Записываю Номер Лицензии, По Умолчанию: False
try:
    #first = ord(00000)




    i = 0
    for i in range(1000000):
        StrI = i
        if (i<10):
            MyFile.write(ord('00000'))
        elif(i<100):
            MyFile.write(0000)
        elif(i<1000):
            MyFile.write(000)
        elif(i<10000):
            MyFile.write(00)
        elif(i<100000):
            MyFile.write(0)
        MyFile.write(StrI)
        MyFile.write(ord(" payed: "))
        MyFile.write(ord("False"))
        MyFile.write("\n")

# Завершаю Работу =)
finally:
    MyFile.close()

Ошибки Ошибки


Ответы (1 шт):

Автор решения: Roman Konoval

на вход write нужно давать объект типа bytes.

Если у вас есть просто int в диапазоне от 0 до 255 и вы его хотите превратить в bytes чтоб записать в файл, например, делайте так:

x = 23
b = bytes([x])
MyFile.write(b)

Это запишет один байт со значением 23 в файл. Файл должен быть открыт в режиме binary, т.е. с опцией b (у вас это делается правильно).

→ Ссылка