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の使い方について、基礎文法から応用例まで入門者向けに解説します。
コメント