Python剥离意外行为

Python剥离意外行为,python,Python,为了路由的目的,我在python中剥离了一个文件名,并且在python剥离函数中得到了一些意想不到的行为。我已经阅读了文档并在网上搜索过,但未能找到以下行为的解释: "Getting-Started.md".strip('.md') Out[29]: 'Getting-Starte' 但是,如果它是除周期左边的“d”之外的任何其他字符,则它可以正常工作: "Getting-StarteX.md".strip('.md') Out[30]: 'Getting-StarteX' 似乎有一种类

为了路由的目的,我在python中剥离了一个文件名,并且在python剥离函数中得到了一些意想不到的行为。我已经阅读了文档并在网上搜索过,但未能找到以下行为的解释:

"Getting-Started.md".strip('.md')
 Out[29]: 'Getting-Starte'
但是,如果它是除周期左边的“d”之外的任何其他字符,则它可以正常工作:

"Getting-StarteX.md".strip('.md')
 Out[30]: 'Getting-StarteX'
似乎有一种类似于镜像的东西正在发生。md’。我现在正在做一个双排来解决这个问题,但我只是好奇为什么会发生这种情况

谢谢。

strip()
将删除参数中提供的所有字符-在您的情况下,
m
d

相反,您可以使用:

strip()
将剥离参数中提供的所有字符-在您的例子中是
m
d

相反,您可以使用:

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

"Getting-Started.md".split('.md')[0]
谢谢你,吸烟者提醒我这个假设

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

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

谢谢你,吸烟者提醒我这个假设

“最后一个是首选的。”丹尼尔同意,删除了其他选项以避免混淆。谢谢。最后一个是首选的。@Daniel同意,删除了其他选项以避免混淆。谢谢。
.split('.md')
?你确定吗?另外,如果我的文件名为
this.is.a.markdown.file.md
,你说得对。必须假设测试字符串的末尾只有一个“.md”。为什么不
”.join(“Get.ting Sta.rted.md”.split('.)[:-1])
;-)迟早有人会在文件名中使用
,这会让你感到困惑,因为即使文件就在那里,它也会说“找不到文件!”;-)虫子更不优雅!如果你想走这条路(我认为你不应该),你应该使用
.rsplit('.md',1)[0]
.split('.md')
?你确定吗?另外,如果我的文件名为
this.is.a.markdown.file.md
,你说得对。必须假设测试字符串的末尾只有一个“.md”。为什么不
”.join(“Get.ting Sta.rted.md”.split('.)[:-1])
;-)迟早有人会在文件名中使用
,这会让你感到困惑,因为即使文件就在那里,它也会说“找不到文件!”;-)虫子更不优雅!如果你想走这条路线(我认为你不应该),你应该使用
.rsplit('.md',1)[0]