【Python】ファイルをバイナリモードで読み書き

Pythonでファイルをバイナリモードで読み書きする方法について入門者向けにまとめました。

【open関数】バイナリモードで読み書き

バイナリデータとは、バイナリ (binary:2進法) 形式で表現されたデータの総称です。
ファイルは、テキストファイルとバイナリファイルに大別されます。

種別 概要
テキストファイル メモ帳など、通常のテキストエディタで読み書きできる文字、改行、タブ文字などから構成されるファイル。(.txt、.csv、.ini、.bat、.htmlなどの拡張子をもつファイル)
バイナリファイル 画像ファイルやExcelファイルなど、特定の文字コード(文字、改行、タブ文字など)以外のに任意のビット列を含むファイル。テキストファイル以外はバイナリファイル。(.jpg、.png .png、.xlsx、.exe などの拡張子をもつファイル)

動画解説

本ページの内容は以下動画でも解説しています。

Pythonのopen関数では、バイナリモードを使うことでバイナリファイルを操作できます。
Pythonのopen関数で「ファイルをバイナリモードで読み書き」には引数に「b」を追加します。

引数 説明
rb バイナリモードで読み込み
wb バイナリモードで書き込み

サンプルコード

サンプルプログラムのソースコードです。


【変換】バイナリファイル ↔ テキストファイル

BASE64とは、バイナリ形式のファイルをASCII形式(英大文字、小文字、数字、記号の64文字のみを用いたデータの表現形式)に変換する方式です。
例えば、メール(SMTPプロトコル)は可読文字のみの使用を前提としています。
拡張子は「.b64」です。
Pythonでは標準モジュール「base64」でBASE64を簡単に扱えます。

■エンコード


■デコード


【Python】BASE64でファイルのエンコード・デコード
PythonでBASE64のファイルエンコード・デコードをする方法をソースコード付きで解説します。

【応用例】バイナリモードの活用例

記事リンク 概要
BMP画像のヘッダ解析 BMP画像ファイルを読み込み、ヘッダ情報を解析します。
BMP画像の明るさを半分 BMP画像の明るさを半分にします。
【Python入門】使い方とサンプル集
Pythonとは、統計処理や機械学習、ディープラーニングといった数値計算分野を中心に幅広い用途で利用されている人気なプログラミング言語です。主な特徴として「効率のよい、短くて読みやすいコードを書きやすい」、「ライブラリが豊富なのでサクッと...

コメント

タイトルとURLをコピーしました