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

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

Mary-Kate Olsen
リリース: 2024-11-30 16:44:10
オリジナル
783 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート