75
A
回答
172
在大多数情况下,你不应该使用正则表达式。
os.path.splitext(filename)[0]
这也将正确处理像.bashrc
这样的文件名保持全名。
21
>>> import os
>>> os.path.splitext("1.1.1.1.1.jpg")
('1.1.1.1.1', '.jpg')
5
不需要正则表达式。 os.path.splitext
是你的朋友:
os.path.splitext('1.1.1.jpg')
>>> ('1.1.1', '.jpg')
8
如果我有一个正则表达式来做到这一点,我会做这样的:
s = re.sub(r'\.jpg$', '', s)
相关问题
- 1. 获取不带扩展名的文件名,textmade包编辑器
- 2. 使用CMake获取目标文件名,不带扩展名
- 3. 从URL和带文件扩展名获取文件名
- 4. 用Python获取文件名和扩展名为hdfs的文件
- 5. 获取不带扩展名的文件类型c#
- 6. 提取文件名(不含扩展名)
- 7. 获取文件的扩展名(编辑)
- 8. Python:获取包含特定文件扩展名的文件夹
- 9. 获取文件的扩展名,但不在路径中提供扩展名
- 10. 获取带有扩展名的目录中的文件列表
- 11. 使用preg_replace获取文件扩展名
- 12. 获取文件扩展名 - jquery
- 13. asp.net mvc HttpPostedFileBase获取文件扩展名
- 14. Angularjs如何获取文件扩展名?
- 15. Smarty获取文件扩展名
- 16. 获取文件扩展名C
- 17. PHP,获取文件名没有扩展
- 18. 从文件扩展名获取ImageFormat
- 19. Primefaces FileUpload获取文件扩展名
- 20. FileUpload获取文件扩展名
- 21. 从文件名中获取文件名和扩展名没有文件名
- 22. 不带扩展名随机文件{1,2 ...}与扩展
- 23. 搜索带扩展名的文件
- 24. 带扩展名的文件夹
- 25. powershell - 提取文件名和扩展名
- 26. 如何忽略不带扩展名的文件名?
- 27. 不带扩展名术语的文件名
- 28. 通过文件扩展名获取扩展名和图标的最快方法?
- 29. 如何从文本文件中提取带.txt扩展名的文件名?
- 30. 获取下载的文件名和扩展名在Android的
@nate C:我修改了我的答案,而你正在写您的评论。 – 2010-12-14 22:34:36
使用“git-1.7.8.tar.gz”无法正常工作,只能删除“.gz”。我使用'basename [: - len(“。tar.gz”)]'这个。 – blueyed 2011-12-09 14:10:24
@blueyed:“不正常工作”是一个视角问题。该文件*是一个gzip文件,其基本名称是'git-1.7.8.tar'。没有办法正确地猜出调用者想要去掉多少个点,所以'splitext()'只能去掉最后一个点。如果你想处理像'.tar.gz'这样的边缘情况,你必须亲自去做。显然,你不能去掉所有的点,因为你最终会得到'git-1'。 – 2011-12-09 22:29:52