decode()
を使用 正しく:2 つのステップのいずれか (blah
を再利用する場合) ):
blah = blah.decode()
splitblah = blah.split("\n")
# other code that uses blah
またはインライン (1 回の使用で必要な場合):
splitblah = blah.decode().split("\n")
decode()
の使用に関する問題 その戻り値を使用しなかったことです。 decode()
に注意してください しない オブジェクトを変更します (blah
) を何かに割り当てるか渡す:
# WRONG!
blah.decode()
関連項目:
decode
ドキュメント。
質問がこれに要約される場合:
<ブロック引用>デコードとエンコードを使用してみましたが、分割メソッドではデータ型を使用できないとまだ怒鳴られます。
目前のエラーは、次のコードで示すことができます:
>>> blah = b'hello world' # the "bytes" produced by check_output
>>> blah.split('\n')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: a bytes-like object is required, not 'str'
bytes
を分割するには 、 bytes
オブジェクトも提供する必要があります。修正は簡単です:
>>> blah.split(b'\n')
[b'hello world']