Python超初心者講座 / 第9回

ファイルを読む・書く

テキストファイルを扱う基本

この回の目的
プログラムは、画面に表示するだけでは実務で使いにくいです。 ファイルを読んだり、処理結果をファイルに保存したりできるようになると、業務自動化に近づきます。

ファイルに書き込む

テキストファイルを作って文字を書き込むには、open を使います。
with open("sample.txt", "w", encoding="utf-8") as f:
    f.write("こんにちは\n")
    f.write("Pythonでファイルを書き込みました\n")
w は書き込みモードです。 同じ名前のファイルがあると上書きされるので注意します。

ファイルを読む

with open("sample.txt", "r", encoding="utf-8") as f:
    text = f.read()

print(text)
r は読み込みモードです。 encoding="utf-8" を指定しておくと、日本語の文字化け対策になります。

1行ずつ読む

大きなファイルでは、全部を一度に読むより1行ずつ処理することがあります。
with open("sample.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())
strip() は、行末の改行などを取り除くためによく使います。

追記する

既存ファイルに追記するには a モードを使います。
with open("sample.txt", "a", encoding="utf-8") as f:
    f.write("追記しました\n")
ログファイルや処理履歴を残すときに使います。

pathlibを使う

ファイルパスの扱いには pathlib が便利です。
from pathlib import Path

path = Path("sample.txt")
path.write_text("pathlibで書き込み", encoding="utf-8")

text = path.read_text(encoding="utf-8")
print(text)
初心者には、古い os.path より pathlib の方が読みやすいです。
練習
次のプログラムを作ってください。
  1. memo.txt に3行の文章を書き込む
  2. そのファイルを読み込んで表示する
  3. 最後に1行追記する
  4. もう一度読み込んで表示する
ファイル操作は、CSV、ログ、設定ファイル、帳票作成の基礎になります。
理解チェック
前の回へ 次の回へ