如何在 Python 中替换(或去除)文件名的扩展名?

发布于 2022-07-28 23:01:37

Python中是否有一个内置函数可以替换(或删除,无论如何)文件名的扩展名(如果有的话)?

例子:

print replace_extension('/home/user/somefile.txt', '.jpg')

在我的例子中:/home/user/somefile.txt会变成/home/user/somefile.jpg

我不知道这是否重要,但我需要这个用于我正在编写的 SCons 模块。(所以也许我可以使用一些 SCons 特定功能?)

我想要一些 干净 的东西。对字符串中所有出现的 进行简单的字符串替换.txt显然是不干净的。(如果我的文件名是
,这将失败somefile.txt.txt.txt

关注者
0
被浏览
11
1 个回答
  • 面试哥
    面试哥 2022-07-28
    为面试而生,有面试问题,就找面试哥。

    尝试os.path.splitext它应该做你想做的事。

    import os
    print os.path.splitext('/home/user/somefile.txt')[0]+'.jpg'  # /home/user/somefile.jpg
    
    
    
    os.path.splitext('/home/user/somefile.txt')  # returns ('/home/user/somefile', '.txt')
    


推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看