我在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 ;.我现在正在做一个双重剥离,但我只是好奇为什么会这样。
谢谢。
答案 0 :(得分:7)
strip()
会删除参数中提供的所有字符 - 在您的案例中.
,m
和d
。
相反,您可以使用os.path.splitext()
:
import os
os.path.splitext("Getting-StarteX.md")[0]
答案 1 :(得分:0)
如果测试字符串的末尾只出现一个“.md”,您也可以使用
"Getting-Started.md".split('.md')[0]
谢谢@Carpetsmoker提醒我这个假设。