Вы можете использовать os.path.dirname
:
In [1]: import os.path
In [2]: os.path.dirname('C:/a/b/c/d')
Out[2]: 'C:/a/b/c'
edit : отмечалось, что последний компонент не удаляется, если путь заканчивается косой чертой. В качестве более надежной альтернативы я предлагаю следующее:
In [5]: os.path.normpath(os.path.join('C:/a/b/c/d', '..'))
Out[5]: 'C:/a/b/c'
In [6]: os.path.normpath(os.path.join('C:/a/b/c/d/', '..'))
Out[6]: 'C:/a/b/c'
'..'
можно заменить на os.path.pardir
, чтобы сделать код еще более переносимым (по крайней мере, теоретически).