从文件名中删除已知扩展名

时间:2019-05-27 18:45:23

标签: python python-3.x text

我有一堆txt文件。我想从文件名中删除.txt(我正在通过os.walk读取)。

我该如何实现?

fileName.rstrip(".txt")似乎删除了字母.tx,而不是删除了子字符串.txt

2 个答案:

答案 0 :(得分:1)

我将使用rpartition(右起partition),并从生成的元组中获取第一个elemnet:

fileName.rpartition(".txt")[0]

rpartition确保生成以下形式的三元素元组:

(before, sep, after)

因此,对于扩展名为.txt的文件名,例如foobar.txt您将得到:

('foobar', '.txt', '')

对于不以.txt结尾的文件,例如foobar

('foobar', '', '')

因此获取第一个元素将在所有情况下都有效。

答案 1 :(得分:1)

我将使用操作系统库进行推荐。

name, ext = os.path.splitext(path)