在Python中获取不带扩展名的文件名
如果我有一个文件名,比如下面这些:
1.1.1.1.1.jpg
1.1.jpg
1.jpg
我怎么才能只得到文件名,而不包括后面的扩展名呢?用正则表达式合适吗?
6 个回答
17
你可以使用 stem 这个方法来获取文件名。
下面是一个例子:
from pathlib import Path
p = Path(r"\\some_directory\subdirectory\my_file.txt")
print(p.stem)
# my_file
27
在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够好,或者是我们对某些概念理解得不够透彻。比如,有人可能在使用某个工具时,遇到了错误提示,或者发现程序没有按照预期运行。这时候,我们就需要去查找解决方案,看看有没有人遇到过类似的问题,并找到合适的解决办法。
在这个过程中,提问和回答都是非常重要的。提问时,我们需要把问题描述清楚,让别人能够理解我们遇到的困难。而回答问题的人,也需要耐心地解释,帮助提问者找到解决方案。这样,大家就可以共同进步,提升自己的编程能力。
总之,编程是一门需要不断学习和实践的技能,遇到问题时,不要气馁,积极寻找帮助和解决方案,才能不断提高自己。
>>> import os
>>> os.path.splitext("1.1.1.1.1.jpg")
('1.1.1.1.1', '.jpg')
224
在大多数情况下,你不应该用正则表达式来处理这个。
os.path.splitext(filename)[0]
这样做也能正确处理像 .bashrc
这样的文件名,确保整个名字都被保留。