Python Pathlib入門
概要
- OOPでパスの管理.
os.path
の代替として使える. - パスの結合などが直感的にかけて便利.
- 最近移行している人が多い.
基本的な関数
from pathlib import Path
p = Path() # 引数なしだとカレントディレクトリ
#=> PosixPath('.')
p.cwd() # 絶対パスを返す
p.resolve() # 相対パスとシンボリックリンクの解決 (絶対パス)
p.home() # ホームディレクトリ
p.exists()
p.is_dir()
p.is_file()
list(p.glob('*')) # カレントディレクトリの全てのファイル
ファイル読み込み
with open(p, 'r') as f: # PosixPathでも受け付ける
contents = f.read()
with p.open() as f: # デフォルトは 'r'
contents = f.read()
ファイル書き込み
改行文字は付与されない.
p.write_text('Hello, World!')
p.read_text() # 読み込み
#=> 'Hello, world!'
パスの結合
- 直感的に’/’演算子が使える
- スラッシュなしでも大丈夫
p / 'path' / 'to/' / 'dir/file'
p.joinpath('path/to/dir/file')
#=> PosixPath('.../path/to/dir/file')
文字列にする
__fspath__
に格納されている.
p.__fspath__()
str(p)
os.fspath
では,文字列ならそのまま,PosixPathならfspathを返してくれる
import os
os.fspath(p)