バイナリファイルの作成方法 (Python)

Pythonで何らかのデータを書き込んでバイナリファイルを作成する場合には,組み込み関数のopenで’wb’とモード指定します.
ただし,そのまま整数型や浮動小数点型のデータを書き込むことはできないのでstructモジュールを使用します.
以下が浮動小数点型や整数型のデータを文字列形式に変換し,バイナリファイルを生成するスクリプトの例です.

hexdump (Unixコマンド)で生成したバイナリファイルの中身を確認してみると,

0000000 19 04 9e 3f ff 03 00 00
0000008
となっています.

1.2345は32bitの浮動小数点型の場合,16進数表記で0x3F9E0419となります.
また,1023は32bitの整数型の場合,16進数表記で0x000003FFとなります.
バイトオーダーはデフォルトでリトルエンディアンとなっているので,正しくバイナリに変換されていることが確認できます.

浮動小数点型や整数型データを文字列に変換するstructモジュールについて,詳しくはこちらをご覧ください.
今回は,変換するデータのフォーマットをfloat (“f”)とint (“i”)にしましたが,その他のデータ型も対応できます.

・参考ページ
Pythonでバイナリファイルを作成する