web-dev-qa-db-ja.com

stdinをバイナリとして読み取る

バイナリからファイルを開いて読み取るコードがあります。

with open (file, mode="rb") as myfile:
    message_string=myfile.read()
    myfile.close

Stdinから読み取って同じことをする必要があります。しかし、バイナリの読み方がわかりません。

エラーはバイト文字列のみを示しています。
助言がありますか?

24
BeMy Friend

Python 3では、stdinからバイナリデータを読み取る場合は、そのbuffer属性を使用する必要があります。

_import sys

data = sys.stdin.buffer.read()
_

Python 2の場合、sys.stdin.read()はすでにバイト文字列を返します。bufferを使用する必要はありません。

41
icktoofay