GNU/Linux >> Linux の 問題 >  >> Linux

分割できません。「str」ではなく、バイトのようなオブジェクトが必要です

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']

Linux
  1. HPプリンターをインストールできません:プラグインのインストールが成功しませんか?

  2. Nvidiaカードドライバーが検出されない:設定がなく、Hdmiを使用できませんか?

  3. 共有ライブラリの読み込み中の Linux エラー:共有オブジェクト ファイルを開けません:そのようなファイルまたはディレクトリはありません

  1. OpenStack Neutron db_syncエラー–デフォルト値がNULLのNOTNULL列を追加できません[解決済み]

  2. .apeファイルを分割できないのはなぜですか?

  3. Ppaエラーを追加できませんユーザーまたはチームが存在しませんか?

  1. libstdc++.so.5:共有オブジェクト ファイルを開けません - ただし、ライブラリはインストールされており、最新です

  2. libaio.so.1:共有オブジェクト ファイルを開けません

  3. Gcc コンパイルはオブジェクト ファイルのサフィックスを計算できません:コンパイルできません