Запись списка кортежей побайтово в файл

Есть список пар чисел <= 10**9.

l = [(0, 15), (3, 48)]

Как записать их в файл в байтовом виде, чтобы на каждый элемент списка в итоге было по 8 байт? Т.е. размер итоговый:

len(l) * (4 + 4)

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

Автор решения: gil9red

Думаю, примерно так:

import os.path

l = [(0, 15), (3, 48)]

with open('file.txt', 'wb') as f:
    for (a, b) in l:
        f.write(a.to_bytes(4, 'big'))
        f.write(b.to_bytes(4, 'big'))

print(len(l) * (4 + 4))
# 16

print(os.path.getsize('file.txt'))
# 16
→ Ссылка
Автор решения: dirt
l = [(0, 15), (3, 48)]

with open('file.txt', 'wb') as f:
    for (a, b) in l:
        f.write(a.to_bytes(4, 'big') + b.to_bytes(4, 'big'))
    
    f.write(b'\n')

Попробовал так, всё получилось, спасибо gil9red.

→ Ссылка