PROGRAM PYTHON

初心者のためのPython超入門【第13回 ファイル操作】

 

 

テキストファイルを読み込む

 

テキストファイルの読み込み手順

Pythonでテキストファイルを読み込む手順は、以下のようになります。

  1. open()関数を使って、読み込みモードでファイルをオープンする
  2. read()などの読み込みメソッドを使って、ファイルを読み込む
  3. close()メソッドを使って、ファイルをクローズする

 

ファイルをオープンする

テキストファイルを読み込むためには、まずファイルをオープンしなければなりません。
open()関数を使って、テキストファイルをオープンします。

オブジェクト名 = open(ファイル名, "r")

メモ

"r" は読み込みモードです。

 

ファイルを読み込む

ファイルをオープンしたら、読み込みメソッドでファイルを読み込みます。
読み込みメソッドには、以下の種類があります。

read() ファイル全体を読み込み、文字データに対して処理を行う
readlines() ファイル全体を読み込み、1行毎に処理を行う
readline() ファイルを1行ずつ読み込む

 

ファイルをクローズする

ファイルを読み終わったら、ファイルをクローズします。
ファイルのクローズには、close()メソッドを使います。

オブジェクト名.close()

 

テキストファイルを読み込むPythonスクリプト

サンプルスクリプトで使うsample.txtの内容は、以下のようになります。

 

read()メソッドを使ったファイルの読み込み

read()メソッドを使ったPythonスクリプトは、以下のようになります。
read()メソッドでファイル全体を読み込み、内容をデータの塊としてlines変数に格納します。
11行目の end="" は、最後の改行を無視します。

 実行例
> python textread1.py
これは犬です。
あれは猫です。
こっちは鼠です。

 

readlines()メソッドを使ったファイルの読み込み

readlines()メソッドを使ったPythonスクリプトは、以下のようになります。
readlines()メソッドでファイル全体を行単位で読み込み、内容をリストとしてlines変数に格納します。
lines変数はリストになっているので、for文を使ってひとつずつ値を取り出しています。

 実行例
> python textread2.py
['これは犬です。\n', 'あれは猫です。\n', 'こっちは鼠です。\n']
これは犬です。
あれは猫です。
こっちは鼠です。

 

readline()メソッドを使ったファイルの読み込み

readline()メソッドを使ったPythonスクリプトは、以下のようになります。
readline()メソッドでファイルを1行ずつ読み込み、内容をline変数に格納して画面に表示します。
line変数が空になると、while文を終了します。
read()メソッドとreadlines()メソッドは、ファイルを一括して読み込んで内容を変数に格納しているので、画面に表示する前にファイルをクローズしていましたが、readline()メソッドでは、1行ずつ読み込んで変数に値を格納しているので、全ての処理が終了してからファイルをクローズしています。

 実行例
> python textread3.py
これは犬です。
あれは猫です。
こっちは鼠です。

 

テキストファイルに書き込む

 

テキストファイルの書き込み手順

Pythonでテキストファイルに書き込む手順は、以下のようになります。

  1. open()関数を使って、書き込みモードでファイルをオープンする
  2. write()などの書き込みメソッドを使って、ファイルに書き込む
  3. close()メソッドを使って、ファイルをクローズする

 

ファイルをオープンする

テキストファイルに書き込むために、ファイルを書き込みモードでオープンします。

オブジェクト名 = open(ファイル名, "w")
または
オブジェクト名
= open(ファイル名, "a")

メモ

"w" は上書きモード、"a" は追加モードです。

 

ファイルを書き込む

ファイルをオープンしたら、書き込みメソッドでファイルに書き込みます。
書き込みメソッドには、以下の種類があります。

write(文字列) 引数で指定した文字列をファイルに書き込む
writelines(リスト) 引数で指定したリストの値をファイルに書き込む

 

ファイルをクローズする

ファイルの書き込みが終わったら、ファイルをクローズします。
ファイルの読み込みと同じく、ファイルのクローズにはclose()メソッドを使います。

オブジェクト名.close()

 

テキストファイルに書き込むPythonスクリプト

 

write()メソッドを使ったファイルの書き込み

write()メソッドを使ったPythonスクリプトは、以下のようになります。
write()メソッドの引数に、書き込みたい文字列を指定します。
1行ずつ改行したいので、文字列の最後に改行コード(\n)を付与します。

 実行例
> python textwrite1.py
> type sample.txt
これは犬です。
あれは猫です。
こっちは鼠です。

 

writelines()メソッドを使ったファイルの書き込み

writelines()メソッドを使ったPythonスクリプトは、以下のようになります。
writelines()メソッドの引数に、あらかじめ定義したリストを指定します。

追加モードでファイルをオープンしているので、既存のファイルの最後から書き込まれています。

 実行例
> python textwrite2.py
> type sample.txt
これは犬です。
あれは猫です。
こっちは鼠です。
これは猿です。
あれは虎です。
こっちは鳥です。

 

with文を使ったファイル操作

with文を使ったファイル操作のやり方を簡単に説明しておきます。
with文のメリットは、close()メソッドを使わなくてもファイルが自動的にクローズされることです。
ただし、with文の中の処理の記述にはインデントが必要になります。

with open(ファイル名, モード) as オブジェクト名:
処理

with文を使ってtextread1.pyを書き直したPythonスクリプトです。

 

 

-PROGRAM, PYTHON