ホームページ >バックエンド開発 >Python チュートリアル >Python 3 ファイル処理で「TypeError: 'str' ではなく、バイトのようなオブジェクトが必要です」を解決する方法は?

Python 3 ファイル処理で「TypeError: 'str' ではなく、バイトのようなオブジェクトが必要です」を解決する方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-30 16:44:10848ブラウズ

How to Resolve

Python 3.5 ファイル処理:「TypeError: 'str' ではなく、バイトのようなオブジェクトが必要です」が解決されました

ファイルを操作するときPython 3 のコンテンツを理解するには、バイトと文字列の違いを理解することが不可欠です。 Python 3 では、ファイルはデフォルトでバイナリ モードで開かれ、コンテンツはバイト オブジェクトとして返されます。

処理時のエラー「TypeError: a bytes-like object is required, not 'str'」を修正するにはファイルの内容に関しては、主に 2 つの解決策があります:

1.ファイルをテキストとして開く

with open(fname, 'r') as f:
    lines = [x.strip() for x in f.readlines()]

このメソッドはファイルをテキスト モードで開き、データが文字列として返されるようにします。

2.バイト オブジェクトを使用する

バイト オブジェクトを操作する必要がある場合は、文字列の代わりにバイトを使用するようにコードを変更できます。

if b'some-pattern' in tmp:
    continue

バイト オブジェクトを扱う場合、「in」や「==」などの比較演算子では両側でバイトを使用する必要があります。

以上がPython 3 ファイル処理で「TypeError: 'str' ではなく、バイトのようなオブジェクトが必要です」を解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。