Python-バイナリファイルを読み込む
890 ワード
バイナリファイルを読み込み、整数に変換
MINISTデータセットを扱う際、サイトからファイルをダウンロードするのはバイナリファイルです.訓練画像データを例にとると,最初の4バイトはmagic number(2051)を格納した.どのようにしてこの4バイトから整数2051を得るのですか?‘rb’方式で読み取るとstrオブジェクトが得られ,8ビットテキストシーケンスではなくバイナリデータが保存される.だから問題は、どのようにバイナリstrを整数に変換しますか?
ネット上ではこの方面の資料が少なすぎて、後で合理的な解釈に出会ってから、なぜこのようにするのかを更新します.
MINISTデータセットを扱う際、サイトからファイルをダウンロードするのはバイナリファイルです.訓練画像データを例にとると,最初の4バイトはmagic number(2051)を格納した.どのようにしてこの4バイトから整数2051を得るのですか?‘rb’方式で読み取るとstrオブジェクトが得られ,8ビットテキストシーケンスではなくバイナリデータが保存される.だから問題は、どのようにバイナリstrを整数に変換しますか?
>>>with open("file", 'rb') as f:
>>> data = f.read() #data str
>>>magic_number = int(data[0:4].encode("hex"), 16)
>>>magic_number
2051
ネット上ではこの方面の資料が少なすぎて、後で合理的な解釈に出会ってから、なぜこのようにするのかを更新します.