Друкарня від WE.UA

Визначення розширення файлу за вмістом

Всіх вітаю! Сьогодні у цій статті ми будемо розбирати бібліотеку filetype, яка здатна визначати розширення файлу за вмістом.

Встановлення

Windows:

pip install filetype

MacOS:

pip3 install filetype

Linux:

pip install filetype

Визначення розширення файлу за змістом

Отде, спочатку нам треба передати шлях до файлу у функцію guess(), а далі за допомогою константи EXTENSION вказуємо, що хочемо отримати саме розширення файлу.

Ось приклад визначення розширення зображення:

import filetype as ft

file_type = ft.guess("D:\\Hobbies\\Programming\\Python\\Profile\\icon.jpg")
print(f"File extension:", file_type.EXTENSION)
File extension: jpg

Ще один приклад тільки з іншим файлом:

file_type = ft.guess("D:\\University\\The modern.pptx")
print(f"File extension:", file_type.EXTENSION)
File extension: pptx

Якщо ж ви хочете зрозуміти, який тип цього файлу (документ, зображення тощо), а не тільки його розширення, то ми можемо використати константу MIME.

Що ж, ось наведений код:

file_type = ft.guess("D:\\Hobbies\\Programming\\Python\\Profile\\icon.jpg")
print(f"File type and extension:", file_type.MIME)
File type and extension: image/jpeg

Ще один приклад:

file_type = ft.guess("D:\\University\\The modern.pptx")
print(f"File type and extension:", file_type.MIME)
File type and extension: application/vnd.openxmlformats-officedocument.presentationml.presentation

Тепер спробуємо дізнатися тип та розширення файлу у випадку, коли ця інформація є неочевидною. У минулих прикладах при вказанні шляху до файлу ми вже явно бачили і тип, і його розширення — все було зрозуміло заздалегідь.

Ось фінальний приклад:

file_type = ft.guess("D:\\University\\1.txt")

print(f"File type: {file_type.MIME}\n"
      f"File extension {file_type.EXTENSION}")
File type: image/png
File extension png

Як бачимо, файл має розширення .txt, але насправді є зображенням з розширенням .png.

Висновок

У цій статті ми ознайомилися з бібліотекою filetype та навчилися застосовувати її на практиці — сподіваюся, що даний матеріал був цікавий. Всім дякую за увагу!

Статті про вітчизняний бізнес та цікавих людей:

  • CRM keyCRM: зручне рішення для продажів, комунікацій і керування командою

    Успіх компанії залежить від того, наскільки швидко вона здатна опрацьовувати вхідні запити. Коли дані про клієнтів розпорошені між різними месенджерами, виникає хаос. CRM keyCRM пропонує вихід із цієї ситуації, об’єднуючи всі робочі процеси в єдиному зручному інтерфейсі.

    Теми цього довгочиту:

    Crm
  • Різниця між UX і UI, яку варто зрозуміти ще до першого заняття

    Більшість людей, які обирають професію UX чи UI, довго вважають це одним і тим самим. Насправді це два різних підходи до роботи над продуктом, і плутанина між ними гальмує розвиток ще на старті.

    Теми цього довгочиту:

    Ui-ux
  • Логіка змін: як SEO оптимізація прибирає бар’єри до зростання

    Багато компаній приходять у SEO з очікуванням швидкого ривка, але дійсний ефект починається там, де сайт перестають латати точково. Тому в центрі роботи стоїть не окрема дія, а послідовні зміни. Оптимізація сайту має прибирати системні перешкоди, а не маскувати їх новими текстами

    Теми цього довгочиту:

    Seo
  • Музичний футуризм: неймовірні інструменти XXI століття

    Еволюція музичних інструментів це один із найкрутіших проявів потужності людської уяви і потреби виразити себе через мистецтво. І хоча багато традиційних інструментів майже не змінилися за століття існування, інновації і пошук не зупиняються.

    Теми цього довгочиту:

    Музичні Інструменти
  • Стіл – всьому голова? Так, якщо його правильно підібрати

    Коли починаєш вивчати пропозицію меблевих фабрик щодо столів, дивуєшся кількості варіантів, адже вони пропонують різні розміри, різні матеріали, різноманітні форми та дизайни. Скористайтесь нашим каталогом MebelOK, щоб Ви могли підібрати найкращу модель для Вашого приміщення

    Теми цього довгочиту:

    Столи
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Magnifique numérique
Magnifique numérique@nocturnal_reader

Нічний читач

56Довгочити
1KПерегляди
18Підписники
Підтримати
На Друкарні з 14 липня 2025

Більше від автора

  • Список різноманітних бібліотек у Python

    Всіх вітаю! Сьогодні хочу поділитися великим списком бібліотек у Python для різного призначення та потреб:https://github.com/vinta/awesome-pythonТут багато цікавих бібліотек зібрано за сферами їхньго призначення.

    Теми цього довгочиту:

    It
  • Roadmap — ваш путівник до поставлених цілей.

    Сайт Roadmap вміщує у собі багато путівників до великої кількості професій та сфер, у яких доволі чітко описано, що саме потрібно для повноцінного вивчення того чи іншого предмету зацікавленості.

    Теми цього довгочиту:

    It
  • Клас itemgetter() у модулі operator

    Всіх вітаю! У даній статті ми продовжимо тему спеціальних властивостей словників у Python. На цей раз ми поговоримо про модуль operator та його клас itemgetter(), яка дозволяє працювати зі списками та словниками у Python.

    Теми цього довгочиту:

    Програмування

Це також може зацікавити:

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити: