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