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}'")