Si ya sabe que el separador de ruta es /
( es decir, está escribiendo para una plataforma / entorno específico), como lo implica el ejemplo en su pregunta, podría mantenerlo simple y dividir la cadena por separador:
'/foo/bar/baz/asdf/quux.html'.split('/').pop()
Eso sería más rápido (y más limpio) que reemplazarlo por una expresión regular.
Nuevamente: solo haga esto si está escribiendo para un entorno específico; de lo contrario, use el path
módulo, ya que las rutas son sorprendentemente complejas. Windows, por ejemplo, admite /
en muchos casos, pero no para, por ejemplo, los \\?\?
prefijos de estilo utilizados para carpetas de red compartidas y similares. En Windows, el método anterior está condenado al fracaso, tarde o temprano.
path.basename(fpath, path.extname(fpath))