Случайное двоичное чтение/запись в Python и .NET

Мне очень нравится, как .NET реализует чтение/запись двоичных данных в файл. Чистый и элегантный.

Могу ли я сделать это в Python?

Sub Main()
    Using writer As New System.IO.BinaryWriter( _
    System.IO.File.Open("Test.bin", IO.FileMode.Create))
        writer.Write(True)
        writer.Write(123)
        writer.Write(123.456)
        writer.Write(987.654D)
        writer.Write("Test string.")
    End Using
    Using reader As New System.IO.BinaryReader( _
    System.IO.File.Open("Test.bin", IO.FileMode.Open))
        Console.WriteLine(reader.ReadBoolean())
        Console.WriteLine(reader.ReadInt32())
        Console.WriteLine(reader.ReadDouble())
        Console.WriteLine(reader.ReadDecimal())
        Console.WriteLine(reader.ReadString())
    End Using
    Console.Write("Press <RETURN> to exit.")
    Console.ReadKey()
End Sub

person mcu    schedule 18.10.2015    source источник
comment
Да. Используйте «с» с открытым, см. пример: docs.python.org/3 /library/functions.html#open with open("file.txt") as file:   -  person David    schedule 18.10.2015
comment
Да, я понимаю контекстные менеджеры, но как мне написать bool, int, float, str, decimal.Decimal и т. д. Я видел решения, которые пишут целые структуры, вроде списков или классов, например с помощью модуля pickle, но не так много индивидуальные ценности. Вот почему я использовал «Случайный» в заголовке вопроса.   -  person mcu    schedule 18.10.2015
comment
А, понятно. Но я не думаю, что что-то подобное существует в питоне. Используйте рассол...   -  person David    schedule 18.10.2015