【Python無料学習】ファイル操作

※この記事は「2020年7月27日」に更新しました。

無料で学習できる Python(パイソン)講座。

今回は、ファイル操作について。

前回は、クラスの使い方について、紹介しました。

【Python無料学習】クラスの使い方

【Python無料学習】クラスの使い方

2020年7月22日

今までは変数を使って、値を保持していきましたが、例えば、プログラム終了後にも値を保持する場合、ファイルに保存する必要があります。

それでは、解説していきます。

ファイル操作をする前に

Python(パイソン)のファイル操作をする前に必要な知識を紹介します。

ファイル名とパス

ファイルには、ファイル名とパスという重要な要素があります。

ファイル名は、どんなファイルかを表すものです。

例えば、test.txt というファイルであれば、test という名前のテキストファイルだということがわかります。

.txt の部分は、拡張子と呼びます。

ここでどんな種類のファイルか判別できるわけです。

パスは、コンピュータ上のどこにファイルがあるかを表しています。

以下のような表示がパスになります。

パス

osモジュール

osモジュールをインポートすれば、OSに依存する様々な機能が使えるようになります。

例えば、Windows だと、ファルダ間の区切りは、\(バックスラッシュ)を使います(Windows の標準フォントだと円マーク)。

しかし、Mac だと、/(スラッシュ)を使います。

全ての OS で動作するためには、両方に対応した Python のプログラムをコーディングする必要があります。

このような事例でも osモジュールの os.path.join という関数を使えば、簡単に解決します。

IDLE で色々試してみましょう。

まずは、osモジュールをインポートします。

import os

これで、osモジュールがインポートできました。

続いて、先程の os.path.join関数を使ってみます。

os.path.join('win','work','test')

実行結果は以下の通りです。

'win\\work\\test'

私の環境は、Windows なので、このように表示されました(バックスラッシュをエスケープしているので2つ表示されている)。

Mac の場合は、/(スラッシュ)が表示されます。

続いて、カレントディレクトリを調べてみます。

カレントディレクトリというのは、現在作業しているディレクトリ(フォルダ)のことです。

os.getcwd()

実行するとカレントディレクトが表示されます。

osモジュール

他にも便利な関数がたくさんあります。

今回は、あまり使いませんが、とりあえずインポートしておきましょう。



Python のファイル操作

Python(パイソン)のファイル操作を紹介します。

Python でファイルを読み書きする流れは以下の通りです。

  • open関数を呼び出し、Fileオブジェクトを取得する
  • Fileオブジェクトの readメソッド、writeメソッドを呼び出して、読み書きする
  • Fileオブジェクトの closeメソッドを呼び出して、ファイルを閉じる

open関数でファイルを開く

まずは、ファイルを開くために open関数を使います。

file = open('test.txt', 'w')

file という変数に open関数で取得した Fileオブジェクトを格納しています。

w というのは、書き込みモードで、ファイルが存在しない場合は、新規作成します。

writeメソッドでファイルに書き込む

writeメソッドは、文字列をファイルに書き込みます。

file.write('Hello World!\n')

readメソッドでファイルを読み込む

readメソッドでファイルを読み込む場合は、open関数で r という読み込みモードで開きます。

ファイルに格納された文字列を返すので、変数に格納することもできます。

また、readlinesメソッドという、1行ずつ読み込むものもあります。

closeメソッドでファイルを閉じる

closeメソッドでファイルを閉じます。

file.close()

まとめ

今までの流れを実際にやってみます。

いつも IDLE を使っているのですが、コマンドプロンプトでやってみましょう。

作業ディレクトリへ移動して、以下を実行します。

python

これで、Python の対話モードが起動します。

後は、以下のコードを順番に実行していくだけです(Enterキーで 1行ずつ実行していきます)。

import os
file = open('test.txt', 'w')
file.write('Hello World!\n')
file.close()

実行結果は以下の通りです。

Python のファイル操作

test.txt というファイルがカレントディレクトリに作成され、以下のテキストが書き込まれているはずです。

Hello World!

最後に

いかがでしょうか。

今回は、Python(パイソン)のファイル操作について解説しました。

C言語でもファイル操作について解説しましたが、Python の方がわかりやすかったかと思います。

読み書きする流れはしっかり理解してコーディングするようにしましょう。