os.path.split

os.path.splitを使うとパス名とファイル名を分けることができます。

path = '/usr/bin/python'
print os.path.split(path)
# => ('/usr/bin', 'python')

str.splitを使って同じことをするならこんな感じでしょうか。

path = '/usr/bin/python'
print ('/'.join(path.split('/')[:-1]), path.split('/')[-1])
# => ('/usr/bin', 'python')

os.path.splitextを使うとファイル名と拡張子を分けることができます。

path = '/foo/bar/boo.py'
print os.path.splitext(path)
# => ('/foo/bar/boo', '.py')

path = '/foo/bar/boo/apple.orange.banana.py'
print os.path.splitext(path)
# => ('/foo/bar/boo/apple.orange.banana', '.py')

最後の . 以下が拡張子とみなされるみたいです。


str.splitを使って同じことをするならこんな感じでしょうか。

path = '/foo/bar/boo.py'
print ('.'.join(path.split('.')[:-1]), '.'+path.split('.')[-1])
# => ('/foo/bar/boo', '.py')

path = '/foo/bar/boo/apple.orange.banana.py'
print ('.'.join(path.split('.')[:-1]), '.'+path.split('.')[-1])
# => ('/foo/bar/boo/apple.orange.banana', '.py')