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