Pythonでテキストファイルの中身を読み込みたいのですが、open()を使うところまではわかっても、その後どう書けばいいか自信がありません。
ファイルを確実に閉じる書き方や、1行ずつ処理する方法も知りたいです。日本語が文字化けすることもあり困っています。
with構文を使うのが基本です。ブロックを抜けると自動でファイルを閉じてくれるので安全です。
with open("data.txt", encoding="utf-8") as f:
text = f.read() # 全体を文字列で読む
print(text)
日本語の文字化けはencoding="utf-8"を指定すればほぼ解決します(Windowsのメモ帳保存ならまれにcp932)。
1行ずつ処理したいときは、そのままforループが使えます。
with open("data.txt", encoding="utf-8") as f:
for line in f:
print(line.rstrip()) # 末尾の改行を除去全行をリストで欲しいならreadlines()が便利です。
with open("data.txt", encoding="utf-8") as f:
lines = f.readlines()
print(len(lines), "行")