Pythonのos.path

パス文字列の操作で便利なos.pathモジュールのよく使うものメモ。必要に応じて追記します。

ドキュメント:10.1. os.path — 共通のパス名操作 — Python 2.7ja1 documentation

ディレクトリ名取得 os.path.dirname

>>> os.path.dirname("../foo/bar/hoge/piyo.txt")
'../foo/bar/hoge'

拡張子の取得 os.path.splitext

>>> os.path.splitext("../foo/bar/hoge/piyo.txt")
('../foo/bar/hoge/piyo', '.txt')
>>> os.path.splitext("../foo/bar/hoge/piyo.txt")[1]
'.txt'

ファイル名の取得 os.path.basename

>>> os.path.basename("../foo/bar/hoge/piyo.txt")
'piyo.txt'
>>> os.path.splitext(os.path.basename("../foo/bar/hoge/piyo.txt"))[0]
'piyo'

ファイル名とディレクトリ名を同時に取得 os.path.split

>>> os.path.split("../foo/bar/hoge/piyo.txt")
('../foo/bar/hoge', 'piyo.txt')

ファイルの存在確認 os.path.exists

>>> os.path.exists("../foo/bar/hoge/piyo.txt")
False
>>> os.path.exists("/bin/sh")
True

壊れたシンボリックリンクもTrueにしたい場合はos.path.lexistsが使えます。

相対パス絶対パス os.path.abspath

>>> os.path.abspath(os.path.expanduser("~/.."))
'/Users'

expanduserは~を展開する関数です。