本記事はPythonでファイルの読み書きができる「codecs」ライブラリについて紹介します。

プログラミングに置いてファイルに書き込みを行うことは主要な処理の一つです。
ファイルの読み書きをすることでデータの一時保存や結果出力ができるようになるのでプログラムの幅が広がります。

本記事の内容は以下の通り。

・「codecs」の使い方〜Pythonでのファイルの読み書き〜
・Python codecsでファイルに書き込む方法
・Python codecsでファイルから読み込む方法

CSVファイルの読み書きについては「PythonでCSVファイルを出力する」をお読みください。

「codecs」の使い方〜Pythonでのファイルの読み書き〜

ライブラリ
ファイルの読み書きができる「codecs」の使い方について紹介します。

「codecs」の基本的な使い方
「codecs」はPythonの標準ライブラリであるため、「import」で読み込むだけで使うことが可能です。

open()メソッドでファイルを開き、書き込みや読み込みを行います。
処理が終わったらclose()メソッドでファイルを閉じます。

◆実装例

codecsのメソッド

open()
ファイルを開くメソッドです。まずはこのメソッドを使ってファイルを開きます。
第1引数には書き込むファイルのパスを指定。

第2引数引数にはファイルのモードを指定。
ファイルには上書きモード(w)、挿入モード(a)、読み込みモード(r)などがあります。

第3引数には文字コードを指定。

取得したファイルオブジェクトのメソッド

close()
ファイルを閉じるメソッドです。
書き込みや読み込みが終わったらこのメソッドを呼んでファイルを閉じましょう。

write()
ファイルを書き込むメソッドです。

read()
ファイルからデータを読み込むメソッドです。

Python codecsでファイルに書き込む方法

勉強する
ファイルを書き込む手順と実装例について説明します。

ファイルに書き込む手順/h3>
codecsを使用してファイルに書き込みを行う場合は以下の手順です。

・ファイルを開いてファイルオブジェクトを取得(codecs.open())
・ファイルに書き込む(target_file.write())
・ファイルを閉じる(target_file.close())

上記手順をコードにすると以下のようになります。

ファイルを書き込む処理の実装例・実行例

ファイルに書き込む処理は以下の仕様で実装します。

引数: 「ファイルのパス」と「書き込むテキスト」
戻り値: 成功した場合は「ok」を返す
失敗した場合は「ng」を返す

◆記述内容(filereadwrite.py)
実装する内容は以下の通りです。

◆実行前のtest1.txt

あいうえお

◆実行結果

ok

◆実行後のtest1.txt

あいうえお
かきくけこ

Python codecsでファイルから読み込む方法

書籍
ファイルのデータを読み込む手順と実装例について説明します。

ファイルからデータを読み込む手順/h3>
codecsを使用してファイルからデータを読み込む手順は以下の通りです

・ファイルを開いてファイルオブジェクトを取得(codecs.open())
・ファイルからデータを読み込む(target_file.read())
・ファイルを閉じる(target_file.close())

上記手順をコードにすると以下のようになります。

手順は基本的に書き込みと同じですが、ファイルを開くときの引数が異なり、第2引数に「r」を指定します。

ファイルからデータを読み込む処理の実装例・実行例

ファイルからデータを読み込む処理は以下の仕様で実装します。

引数: ファイルのパス」
戻り値: 読み込んだテキストを返す
失敗した場合は「ng」を返す

成功した場合に読み込んだテキストを返すメソッドです。失敗した場合はテキストの代わりに文字列「ng」を返します。

◆記述内容(filereadwrite.py)
上のソースコードに追記します。
実装するコードは以下の通りです。

◆test1.txtの記述内容

あいうえお

◆実行結果

あいうえお

終わりに

今回は「codecs」というライブラリを使用する方法について紹介しました。
「codecs」は標準ライブラリなのでimportするだけで使うことができます。

まずはこのライブラリを活用して簡単なファイルの読み書きを実装してみましょう。

ファイルの読み書きができれば簡易的なデータベースとして活用したり、結果を出力したりといったことが可能となります。
簡単な操作で実装できるので習得しておきましょう。

Pythonのファイル操作まとめTOP>>Pythonでファイルを操作する方法まとめ