Друкарня від 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 we.ua/nocturnal_reader

Нічний читач

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

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

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

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

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

    Програмування
  • Метод split() у Python

    Всіх вітаю! Сьогодні ми розглянемо метод split() у Python та побачимо, як використовувати її на прикладах.

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

    Програмування
  • Створюємо стовпчикові графіки за допомогою plotly

    Всіх вітаю! У цій статті пропоную вам зануритися у графіки та візуалізацію на Python за допомогою plotly. На цей раз ми втілимо графік прослуховувань різних реп виконавців за місяць та графік з оцінками деяких альбомів за сайтом AOTY.

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

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

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

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

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

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