Tira de python comportamiento inesperado

Estaba eliminando un nombre de archivo en python para propósitos de enrutamiento y estaba teniendo un comportamiento inesperado con la función de tira de python. He leído los documentos y he buscado en línea, pero no he podido encontrar una explicación para el siguiente comportamiento:

"Getting-Started.md".strip('.md') Out[29]: 'Getting-Starte' 

Pero si es cualquier otro personaje aparte de ‘d’ a la izquierda del período, funciona correctamente:

 "Getting-StarteX.md".strip('.md') Out[30]: 'Getting-StarteX' 

Parece que hay algo similar a un reflection que está sucediendo ‘d. Maryland’. Estoy haciendo una tira doble para superar esto por ahora, pero solo tenía curiosidad de por qué ocurre esto.

Gracias.

strip() eliminaría todos los caracteres proporcionados en el argumento , en su caso . , m y d .

En su lugar, puede usar os.path.splitext() :

 import os os.path.splitext("Getting-StarteX.md")[0] 

Si solo aparece un “.md” al final de la cadena de prueba, también puede usar

 "Getting-Started.md".split('.md')[0] 

Gracias @Carpetsmoker me recuerdan el supuesto.