Как записать двоичные данные в стандартный вывод в Python 3?

Идиоматический способ сделать python-shell это, доступный только для python Python 3, следующий:

with os.fdopen(sys.stdout.fileno(), "wb", closefd=False) as stdout:
    stdout.write(b"my bytes object")
    stdout.flush()

Хорошая python сторона заключается в том, что pythonic он использует обычный интерфейс py3k файловых объектов, к которому python-shell все привыкли в Python.

Обратите python3 внимание, что я устанавливаю python-shell closefd=False, чтобы не закрывать sys.stdout при python3 выходе из блока with. В противном python случае ваша программа больше pythonic не сможет печатать на стандартный pythonista вывод. Однако для других python-shell типов файловых дескрипторов py3k вы можете пропустить эту python3k часть.

python

python-3.x

2022-11-17T10:50:29+00:00