1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

【Python入門】ファイルの文字列の読み込みと書き込みの方法

【Python入門】
Pocket

プログラミングを行っているとテキストファイルの文字列を読み込んだり、逆にプログラムで扱っている文字列をファイルに書き込んだりします。そういったファイルの読み書きはPythonでも行うことができます。

今回はpythonでファイルの読み書きをする方法を説明します。

ファイルのオープン

ファイルの読み書きを行うには、まずファイルを開いてファイルの中身にアクセスできる状態にする必要があります。ファイルをオープンするにはopen()を使います。

ファイルのオープンモードには以下の6つがあり、ファイルをどう扱うかによって使い分けます。

r 読み込みモードで開く。ファイルが存在しない時はエラーになる
w 書き込みモードで開く。ファイルが存在しない時は新規作成される
a 追加書き込みモードで開く。ファイルが存在しない時は新規作成される
r+ 読み書き両対応で開く。ファイルが存在しない時はエラーになる
w+ 読み書き両対応で開く。ファイルが存在しない時は新規作成される
a+ 追加書き込み・読み書き両対応で開く。ファイルが存在しない時は新規作成される

ファイルの読み込み

ファイル読み込みではテキストファイルなどの中身を読み込みます。ファイルをオープンする際には「r」もしくは「r+」で開きましょう。また、ファイルの読み込みを行う方法は3つあり、それぞれによって使う関数も異なります。

readですべてを文字列として読み込む

read()を使うとファイルの中身すべてを1つの文字列として読み込むことができます。例として、以下のtest.txtを読み込むと以下のようになります。

test.txt

実行結果

this is test
text

readlineで1行だけ文字列として読み込む

readlineを使うと1行だけ文字列として読み込みます。ただし、読み込んだ文字列は改行文字も含みます。

実行結果

this is test

text

readlinesですべてを文字列のリストとして読み込む

readlinesを使うとすべての文字列を1つのリストとして読み込みます。もっと詳しく言うと、1行ずつ読み込んだあとにリストへ順番に追加していきます。

実行結果

[‘this is test\n’, ‘text’]

ファイルへの書き込み

書き込み

ファイル書き込みではプログラム中で扱っている文字列をファイルに書き込みます。書き込む場合はファイルを「w」もしくは「w+」で開きます。文字列の書き込みにはwrite()を使います。

実行結果(test.txt)

python output string

write()の引数に渡された文字列がファイルに書き込まれます。リストやタプルなどを書き込む場合はwritelines()を使います。

実行結果(test.txt)
python output string

追加書き込み

書き込みではファイルの中身がすべて上書きされます。今あるファイルに追加で書き込みを行う場合はファイルをオープンする際に「a」もしくは「a+」でオープンしましょう。そうすることで、ファイルを追加書き込みモードで開くことができます。書き込むための関数自体は通常の書き込みと同じです。

実行結果(test.txt)

python output stringthis is test

さきほど例で文字列を書き込んだtest.txtに追加で文字列を書き込みました。ただし、書き込みモードでは終端に改行文字が自動では付かないため、このように元からある文字のすぐ後ろにくっついてしまうので気をつけましょう。

ファイルのクローズ

ファイルを開くと、そのファイルのためにメモリを消費します。ファイルを開きっぱなしだとメモリを消費したままになるので、使わなくなったファイルはしっかりと閉じるようにしましょう。ファイルを閉じるにはclose()を使います。

【おすすめ記事】

Pythonの本・参考書の評判
【無料で使える】Pythonを勉強できる学習サイト7つ
【Python入門】JSON形式データの扱い方
Pythonを使うなら知っておくべき!便利なライブラリ13選

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る