Друкарня від 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 та навчилися застосовувати її на практиці — сподіваюся, що даний матеріал був цікавий. Всім дякую за увагу!

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

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

Нічний читач

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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