ファイルを読み書きする 〜Pythonでのファイルの読み書きはとてもシンプル

プログラミングの基礎

こんにちは。IT/経済ジャーナリストで投資家の渡辺です。

コンピュータで集計した数値や文字、つまりデータはコンピュータ上に「ファイル」という形で管理されます。

実際はデータの塊として、ハードディスク上にまとまったデータとして保存されるだけですが・・・。

でも、実際にオフィスの机で、書類を種類や目的別にバインダーにまとめて保管している様子をイメージしてください。

これが「ファイル」というものです。

プログラム上のデータをファイルに書き出す

ワープロを起動し、自分で文書を作り、作った文書にファイル名を付けて、ディスク上に保存する、というのは私たちが日々よくやっている操作です。

非常に基本的な処理だけですが、これをPythonでやってみます。

PyCharmを起動し、今あるコードをいったん全部削除してください。

その上で、これから1行ずつ解説しますので、それぞれの機能を考えながら、コードを1行ずつ書いていきましょう。

 

まず日本語が使えるように、最初の行で文字コードをUNICODE(UTF-8)に指定します。

# coding: utf-8

これはもうおなじみですね。

次にinput文でキーボードから何か文字列を入力します。

この入力内容をファイルに書き出すことにします。

str = input(“文字列を入力してください:”)

さらに、input文でデータを書き出すファイル名を指定します。

ベタですが、ファイル名は datafile という名前にします。

datafile = input(“ファイル名を指定してください:”)

open()関数でファイルを開く

次が今回でもっとも重要な処理です。

先ほど指定したファイル名で、書き込み用ファイルを開きます。

myfile = open(datafile, ‘w’)

これはdatafileで指定した名称でファイルを開き、読み書きできるようにする、ということです。

現実世界でいうと、ノートなり帳簿なりを開いて、さあ内容を見るなり、項目を記入したりできる状態になったということです。

ちなみに後半の ‘w‘ はwriteの意味で、ファイルを書き込みモードで開くことを意味しています。

myfile = となっていますが、これはこの開いたファイルのコードネームを myfile とする、ということです。

以降は、myfileに対して、操作を加えるということになります。

myfileにwrite()で書き込む

これまでの処理で、1)ファイル名を指定した、2)書き込みたいメッセージ(文字列)を入力した、3)ファイルを書き込みモードで開いた、というところまで来ました。

次は、2)で書き込んだメッセージを実際にファイルに書き込むことになります。

このファイルには、myfileというコードネームが付いています。

そこで、myfileよ、xxxしろ、という書き方で処理を行います。

具体的には、. で区切って命令を書きます。

ここではstrに入力したデータ(文字列)を書き込むので、write(str)とします。

myfile.write(str)

開いてあるファイルmyfileに、strの内容を書き込まれました。

 

開いたファイルは閉じる

これでファイルに文字列が書き込まれた訳ですが、現実世界と同様、もう用事は済んだということをシステムに伝えるために、ファイルを閉じる操作をしないといけません。

閉じる操作は、ベタですが、close()関数を使います。

myfile.close()

これでファイルが閉じられました。

この操作をしなくても、プログラムが終了する際に、そのプログラムが開いていたファイルも閉じられるはずですが、タイミングによっては中身が正しく保存されないなど、トラブルが起こる恐れもあります。

ということで、お作法として、ファイルを使った後はクローズするよう、注意してください。

念のため、これまで書いたコード全体をここに記します。

# coding: utf-8

str = input(“文字列を入力してください:”)

datafile = input(“ファイル名を指定してください:”)

myfile = open(datafile, ‘w’)
myfile.write(str)
myfile.close()

 

正しくファイルが作られたか確認

いつものように「Run ‘study00’」を実行して、このプログラムを実行してみてください。

とりあえずベタですが、test.txtというファイル名にしてみました。

今回は何も指定していないので、いま学習用に作っているソースコードと同じフォルダーに、このテキストファイルが作られているはずです。

PyCharmの左側のファイル一覧を見ていきましょう。

ここで作られたファイルについては、ファイル一覧の一番下にある「Scratches and Consoles」にあるはずです。

左端の矢印をクリックすると、「Scratches」フォルダーの下にいま学習用に作っている「study00.py」ファイルがあり、その下にtest.txtファイルが作られています。

ちなみに、後ろの.pyとか.txt拡張子(extensions)と呼ばれ、ファイルの種類を短くアルファベット3文字以内でシンプルに表す記号です。

どんな種類にどんな記号を付けるか、これはもう以前から約束事として決まっていて、.pyはPythonのプログラム(ソースコード)で、.txtはテキストファイル(文字だけの文書ファイル)です。

ということで、ファイルをクリックしてみてください。

先ほどキーボードから入力した内容で、ファイルが作られていました。

次回は、ファイルの読み込み機能を使って、このファイルの内容を表示してみます。

<今日の要約ノート>

open(ファイル名、’w’) モードでファイルを開く。ファイルには名前を付け、そのファイルに対して操作を行う。write(文字列)とすることで、ファイルに書き込むことができる。使い終わったファイルは、close()で閉じるのがファイルを使う際のマナー。

 

コメント

  1. […] […]

  2. […] […]

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