こんにちは。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()で閉じるのがファイルを使う際のマナー。
コメント
[…] […]
[…] […]