#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専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿