Python剥离意外行为

时间:2016-03-09 23:16:12

标签: python

我在python中剥离文件名用于路由目的,我在python strip函数中遇到了一些意想不到的行为。我已阅读文档并在线搜索但未能找到以下行为的解释:

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

但如果除了' d'之外还有其他任何角色。在这个时期的左边,它运作正常:

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

似乎有一些类似于镜像的事情。' d。 MD&#39 ;.我现在正在做一个双重剥离,但我只是好奇为什么会这样。

谢谢。

2 个答案:

答案 0 :(得分:7)

strip()会删除参数中提供的所有字符 - 在您的案例中.md

相反,您可以使用os.path.splitext()

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

答案 1 :(得分:0)

如果测试字符串的末尾只出现一个“.md”,您也可以使用

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

谢谢@Carpetsmoker提醒我这个假设。