Balavnik
@Balavnik

Как узнать расширение файла, если у него нет имени?

Суть:
Есть файл ".txt", и os.path.splitext(".txt") вернёт в качестве имени файла .txt, а расширение пустое. Хотелось бы наоборот.
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
Lord_of_Rings
@Lord_of_Rings
Python developer
import os

def get_extension(filename):
    # Проверяем, начинается ли имя файла с точки
    if filename.startswith('.'):
        return '', filename

    # Используем os.path.splitext для разделения имени и расширения
    name, ext = os.path.splitext(filename)

    # Если расширение пустое, значит это файл без расширения
    if ext == '':
        return name, ''

    return name, ext

# Примеры использования
filenames = [
    ".txt",          # Файл без имени
    "file.txt",      # Обычный файл
    "archive.tar.gz",# Файл с несколькими точками
    "noext",         # Файл без расширения
    ".hiddenfile",   # Скрытый файл
    "file..txt"      # Файл с двойной точкой
]

for filename in filenames:
    name, extension = get_extension(filename)
    print(f"Filename: {filename} -> Name: '{name}', Extension: '{extension}'")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы