是。使用os.path.splitext
(参见Python 2.X 文档或Python 3.X 文档 ):
>>> import os
>>> filename, file_extension = os.path.splitext('/path/to/somefile.ext')
>>> filename
'/path/to/somefile'
>>> file_extension
'.ext'
与大多数手动字符串拆分尝试不同, os.path.splitext
会正确地将/a/bc/d
视为没有扩展名而不是扩展名.c/d
,并且它会将.bashrc
视为没有扩展名而不是扩展名.bashrc
:
>>> os.path.splitext('/a/b.c/d')
('/a/b.c/d', '')
>>> os.path.splitext('.bashrc')
('.bashrc', '')
import os.path
extension = os.path.splitext(filename)[1]
版本 3.4 中的新功能。
import pathlib
print(pathlib.Path('yourPathGoesHere').suffix)
我很惊讶没有人提到过pathlib
, pathlib
太棒了!
如果您需要所有后缀(例如,如果您有.tar.gz
) .suffixes
将返回它们的列表!