Программа Python для извлечения расширения из имени файла
В этом примере покажем два способа получить расширение файла из его имени или пути.
Что нужно знать
Пример 1. Метод splitext() из модуля os
import os
file_details = os.path.splitext('/path/file.ext')
print(file_details)
print(file_details[1])
Вывод
('/path/file', '.ext')
.ext
os.path.splitext() возвращает кортеж: первый элемент — путь и имя без расширения, второй — само расширение. Если нужно только расширение, обращайтесь к file_details[1].
Пример 2. Модуль pathlib
import pathlib
print(pathlib.Path('/path/file.ext').suffix)
Вывод
.ext
Через атрибут suffix объекта Path из модуля pathlib тоже можно получить расширение. В примере выше .ext — это расширение файла file.ext.
Примечание
pathlib доступен начиная с Python 3.4.
Как это работает
Оба подхода просто разбирают строку имени файла: всё после последней точки в базовом имени считается расширением. Разница в API — os.path.splitext возвращает кортеж из двух элементов, а Path.suffix сразу даёт расширение в виде строки.