Pythonファイルの読み取りと書き込みのいくつかのモード:
r、rb、w、wbでは、ファイルを読み書きするとき、bマークがあるかどうかの主な違いは何ですか?
ファイル使用法の識別
ファイルの読み取りとファイルの読み取りを行う場合、ドキュメントの終わり(EOF)が読み取られるまで、ファイルの終わりはカウントされません。Pythonは、バイト\ x1A(26)から変換された文字をドキュメントの終わり(EOF)と見なします。
したがって、「r」を使用してバイナリファイルを読み取ると、ドキュメントの読み取りが不完全になる可能性があります。
例:
バイナリファイルには、次のデータが低から高に配置されています。7F32 1A 2F 3D 2C 12 2E 76
'r'を使用して読み取ると、3番目のバイトが読み取られます。つまり、ファイルの終わりが考慮されます。
'rb'を使用してバイナリビットに従って読み取る場合、読み取られたバイトは文字に変換されないため、上記のエラーを回避できます。
解決:
バイナリファイルは、バイナリメソッドを使用して「rb」を読み取ります
総括する:
'r'を使用する場合、 '0x1A'に遭遇すると、ファイルの終わり、つまりEOFと見なされます。 'rb'を使用する場合、そのような問題はありません。
つまり、バイナリで書き込んでからファイルから読み取る場合、「0x1A」が含まれていると、ファイルの一部のみが読み取られ、「rb」を使用すると常にファイルの末尾が読み取られます。
ナレッジポイントの拡張:
これまで、pythonでのrbの意味の理解に関するこの記事を紹介しました。pythonでのrbの意味のより関連性の高いコンテンツについては、ZaLou.Cnの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後もZaLouをサポートしていただければ幸いです。 Cn!
Recommended Posts