#12 Pythonで学ぶファイル読み書きの基本

プログラムの中でファイルを読み書きできると、データを保存したり、他のプログラムと情報をやり取りしたりできるようになります。この記事では、Pythonにおけるファイル操作の基本を解説します。

ファイルを読み込む

Pythonではopen()という機能を使ってファイルを開きます。

with open("data.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)

withを使うと、処理が終わったあとに自動でファイルを閉じてくれます。

ファイルに書き込む

with open("data.txt", "w", encoding="utf-8") as f:
    f.write("こんにちは")

2文字目のモード指定を"r"(読み込み)から"w"(書き込み)に変えるだけです。既存の内容に追記したい場合は"a"を使います。

1行ずつ読み込む

with open("data.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line)

ファイル全体を一度にメモリへ読み込むread()と違い、この書き方は1行ずつ処理するため、サイズの大きいファイルでもメモリの負荷を抑えられます。

存在しないファイルを開こうとした場合

読み込みモードで存在しないファイルを開こうとすると、FileNotFoundErrorという例外が発生します。以前の記事で触れたtry・exceptと組み合わせると、安全に対処できます。

try:
    with open("data.txt", "r", encoding="utf-8") as f:
        content = f.read()
except FileNotFoundError:
    print("ファイルが見つかりませんでした")

Pythonならではの注意点

withを使わずにopen()だけを書くと、ファイルを閉じるclose()を自分で呼び出す必要があり、うっかり忘れるとファイルが開きっぱなしになってしまいます。特別な理由がない限り、常にwithを使うことが強く推奨されています。文字コードを指定するencoding="utf-8"を省略すると、実行環境によって既定の文字コードが異なり、日本語が文字化けする原因になるため、明示的に指定しておく習慣も大切です。

まとめ

Pythonのファイル操作はopen()とwithが基本です。読み込み・書き込み・追記のモードを使い分け、withとtry・exceptで安全にファイルを扱いましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

Pythonをもっと学びたい方には「スッキリわかるPython入門 第2版」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本