プログラムは、画面に表示するだけでは実務で使いにくいです。 ファイルを読んだり、処理結果をファイルに保存したりできるようになると、業務自動化に近づきます。
ファイルに書き込む
テキストファイルを作って文字を書き込むには、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 の方が読みやすいです。
次のプログラムを作ってください。
memo.txtに3行の文章を書き込む- そのファイルを読み込んで表示する
- 最後に1行追記する
- もう一度読み込んで表示する
理解チェック
- この回の目的を一文で説明できる
- サンプルコードを自分のPCで実行できる
- エラーが出た場合、どの行で起きたか確認できる
- 少しだけ値や文字を変えて、結果の違いを確認できる