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

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

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

Нічний читач

211Прочитань
17Автори
7Читачі
На Друкарні з 14 липня

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

  • Комплексні числа у Python

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

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

    Програмування
  • Функції isinstance() та issubclass() у Python

    Всіх вітаю! У цьому матеріалі ми розберемо суть вбудованих функцій isinstance() та issubclass() та як ними користуватися у коді.

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

    Програмування
  • Обчислення похибок вимірювань у Python

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

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

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

Вам також сподобається

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

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

Вам також сподобається