ディレクトリのパスを編集したいとき、どうするか
ディレクトリのパスを取得したあとで、そのパスの一部を入れ替えたり、途中のディレクトリ名を取り出したりしたい。そのときにどうすればいいか。
とりあえず、os.pathのメソッドの挙動をいろいろと試してみる。
hoge$ python Python 2.5.2 (r252:60911, Jan 24 2010, 17:44:40) [GCC 4.3.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> apath = os.path.join('A', 'B', 'C', 'D') >>> apath 'A/B/C/D' >>> os.path.dirname(apath) 'A/B/C' >>> os.path.basename(apath) 'D' >>> os.path.split(apath) ('A/B/C', 'D') >>> bpath=os.path.split(apath)[0] >>> bpath 'A/B/C' >>> os.path.split(bpath) ('A/B', 'C') >>> os.path.splitdrive(apath) ('', 'A/B/C/D') >>> os.path.splitext(apath) ('A/B/C/D', '')
ふむふむ、分かった。これらから、os.path.splitでパスを分離して、os.path.basenameで目的に名前を取り出すのが直接的な方法だなと思う。