在IronPython 2.6 *中,我正在尝试构建一个“纠正”字符串的函数;我有两个参数,FILE
和EXTN
。这个想法是让他们在程序的后期必要时连接起来,但是你知道有些人不会阅读说明,你必然会有人将"FILE.*"
作为他们的FILE
进入,这会弄得一团糟一切都好了。
我正在寻找一种方法FILE
,让我的功能检测并从.*
<中剥离FILE
(任意长度的任何扩展名) em> if。* exists ;它不需要在字符串中,并且用户将在EXTN
**中输入相同的扩展名,因此不需要准备,只是一直被剥离。
我当前的方法让我分别传递FILE
和EXTN
,但重做事情FILE.EXTN
并将其分解为FILE
和{{1}并不是不可想象的} 如果需要的话;但是,如果我不需要,我不想,因为我的程序是围绕以前的系统构建的。
*关于IronPython 2.6的说明;我试图避免使用特定于IronPython的代码并使用尽可能简单的代码,以实现UNIX-WIN的交叉兼容性。到目前为止,我所做的一切都在Python 2.7 IDE中运行,但显然不适用于Python 3.x
**关注EXTN
的说明;我希望用户也可以在EXTN
中输入正确的扩展名,但正如我们所知,我们无法确定这一点,因此剥离 .i 来自EXTN
的{{1}}不得自动包含FILE
作为其中一部分。
这是一段代码,可以作为我迄今为止的参考。 EXTN
和FILE
变量已添加,实际上,它们是通过中间人程序从XML文件中提取到运行时的脚本中的。
EXTN
答案 0 :(得分:3)
您可以使用os.path.splitext执行此操作。如果存在扩展名,则以下将始终删除扩展名(如果不存在则不执行任何操作):
import os
FILE = os.path.splitext(FILE)[0]