Вы можете просто разделить путь дважды в официальном разделителе пути (os.sep
, а не '/') и взять последний бит:
>>> s = "../first/bit/of/the/path.html"
>>> s.split(os.sep, 2)[-1]
'bit/of/the/path.html'
Это также более эффективно, чем полное разбиение пути и соединение его вместе.
Обратите внимание, что этот код не жалуется, когда путь содержит менее 3+ элементов пути (например, 'file.html' yields 'file.html'). Если вы хотите, чтобы код вызывал исключение, если путь не имеет ожидаемой формы, вы можете просто запросить его третий элемент (который отсутствует для путей, которые слишком коротки):
>>> s.split(os.sep, 2)[2]
Это может помочь обнаружить некоторые тонкие ошибки.