
みなさん、こんにちは。今回は、Pythonでテキストファイルを1行ずつ読み込んで処理する、最もシンプルで安全な方法をご紹介します。大きなファイルでもメモリを消費しすぎずに安定して動作する、実務でも必須のテクニックです。プログラムの基本となるファイル操作を、私と一緒に整理していきましょう。
ファイルの読み込みには、自動的にクローズ処理を行ってくれる with 構文を使用するのが最も標準的でおすすめです。
# 読み込むファイルのパスを指定します
file_path = "sample.txt"
# with構文を使うことで、処理が終わると自動的にファイルが閉じられます
with open(file_path, "r", encoding="utf-8") as file:
for line in file:
# lineには行末の改行文字が含まれているため、strip()で取り除きます
print(line.strip())この書き方であれば、ファイルサイズが非常に大きい場合でも、1行ずつメモリに読み込むためパソコンに負荷をかけずに処理することができます。
みーちゃんのワンポイント
ファイルを読み込む際、各行の末尾には改行コード(\n)が含まれています。今回使用した strip() は、行頭や行末にある空白や改行をすべて取り除く便利なメソッドです。もし「行頭のスペース(インデントなど)は残して、末尾の改行だけを消したい」という場合は、line.rstrip('\n') を使うのがおすすめですよ。用途に合わせて上手に使い分けてみてくださいね。
