組み込み開発のためのPython · レッスン 205 / 220

pathlibでファイルとパスを扱う

OS差を意識したパス操作、UTF-8読込、存在確認、例外処理を学びます。

試験ログや設定ファイルは、実行したディレクトリやOSによって見つからないことがあります。文字列連結に頼らず、パス操作と文字コードを明示します。

パスを構成要素として扱う

`pathlib.Path`は、区切り文字を手作業でつなぐ代わりに、OSに合ったパス操作を提供します。相対パスは現在の作業ディレクトリに依存するため、スクリプト位置から決めるのか、コマンド引数から受け取るのかを仕様として選びます。

読込前提と失敗を明示する

テキストファイルを読む場合は、文字コードを指定し、ファイルがない場合やアクセスできない場合を扱います。ログを上書きするか追記するかも、実験記録の要件に応じて決めます。重要なデータを書き出す場合は、途中失敗で壊れたファイルを残さない手段も検討します。

コード例

手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。

from pathlib import Path

log_path = Path("results") / "run-001.txt"
log_path.parent.mkdir(parents=True, exist_ok=True)
log_path.write_text("測定開始\n", encoding="utf-8")
loaded = log_path.read_text(encoding="utf-8")
print(log_path.resolve(), loaded.strip())

手を動かす課題

出力フォルダーが存在しない場合にも作成し、UTF-8の日本語を保存して同じ文字列を読み戻してください。

参考資料

「5. ファイル・文字コード・ログデータ」の章一覧へ