我有一堆txt文件。我想从文件名中删除.txt
(我正在通过os.walk
读取)。
我该如何实现?
fileName.rstrip(".txt")
似乎删除了字母.
,t
,x
,而不是删除了子字符串.txt
答案 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)