¿Una forma elegante de tomar el nombre base del directorio en Python?

Tengo varios scripts que toman como entrada un nombre de directorio, y mi programa crea archivos en esos directorios. A veces quiero tomar el nombre base de un directorio dado al programa y usarlo para crear varios archivos en el directorio. Por ejemplo,

# directory name given by user via command-line
output_dir = "..." # obtained by OptParser, for example
my_filename = output_dir + '/' + os.path.basename(output_dir) + '.my_program_output'
# write stuff to my_filename

El problema es que si el usuario da un nombre de directorio con una barra inclinada final, os.path.basename devolverá la cadena vacía, que no es lo que quiero. ¿Cuál es la forma más elegante de lidiar con estos problemas de barra diagonal / barra final en Python? Sé que puedo verificar manualmente la barra al final de output_dir y eliminarla si está allí, pero parece que debería haber una mejor manera. ¿Esta ahí?

Además, ¿está bien agregar manualmente caracteres '/'? P.ej. output_dir + '/' os.path.basename () o ¿hay alguna forma más genérica de construir rutas?

Gracias.

Respuestas a la pregunta(5)

Su respuesta a la pregunta