Программа 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 сразу даёт расширение в виде строки.