以下のようにpathlibを使うと、Pythonでも1行でテキストファイルの読み込み・書き込みを行うことができることを知った。
- 読み込み
from pathlib import Path text = Path("/path/to/fizz.txt").read_text(encoding="utf-8")
- 書き込み
from pathlib import Path Path("/path/to/buzz.txt").write_text("hoge", encoding="utf-8")
引数の種類・意味もopen
と同じとのことである。
また、
ファイルを開いた後に閉じます。
とのことなので、with
ブロックで囲ったり、ファイルハンドラーをクローズしたりする作業も不要と理解した。
- 公式ドキュメント
pathlib --- オブジェクト指向のファイルシステムパス — Python 3.9.4 ドキュメント
背景
PHPではfile_get_contents
、file_put_contents
という関数を使って一行でファイルの読み込み・書き込みができたので、ちょっとしたスクリプトでファイルを扱うときに便利だった。
PHP: file_get_contents - Manual
PHP: file_put_contents - Manual
Pythonでファイルの読み込み・書き込みを行うときは、これまではwithブロックでopen
を使う方法しか知らなかったので、1行で書く方法はないのかな?とずっと思っていた。
pathlibを使うと1行で書けることを知った。