从 Python 中的文件名中提取扩展名

2022-09-05 00:53:05

是否有从文件名中提取扩展名的函数?


答案 1

Use os.path.splitext

>>> import os
>>> filename, file_extension = os.path.splitext('/path/to/somefile.ext')
>>> filename
'/path/to/somefile'
>>> file_extension
'.ext'

与大多数手动字符串拆分尝试不同,它将正确地视为没有扩展而不是具有扩展名,并且它将被视为没有扩展名而不是具有扩展名:os.path.splitext/a/b.c/d.c/d.bashrc.bashrc

>>> os.path.splitext('/a/b.c/d')
('/a/b.c/d', '')
>>> os.path.splitext('.bashrc')
('.bashrc', '')

答案 2

3.4 版中的新功能。

import pathlib

print(pathlib.Path('yourPath.example').suffix) # '.example'
print(pathlib.Path("hello/foo.bar.tar.gz").suffixes) # ['.bar', '.tar', '.gz']

我很惊讶还没有人提到pathlib,真是太棒了!pathlib