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

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

Нічний читач

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

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

  • Функції reversed() та map() у Python

    Вітаю всіх! Сьогодні ми поговоримо про вбудовані функції reversed() та map() у Python. Розглянемо роботу кожної з функції окремо на прикладах, які дадуть зрозуміти суть цих функій.

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

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

    Всіх вітаю! Сьогодні ми будемо розбирати суть та різницю між вбудованими функціями all() та any() у Python. Взагалі зрозуміти ці функції доволі не складно, тому і стаття не сильно велика.

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

    It
  • Виводимо дані у вигляді таблиці в консолі з prettytable

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

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

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

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

  • Найбільш оплачувані професії в Айті 2024

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

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

    It
  • Що таке пакети в Linux, і чому в Windows не так?

    Коли людина тільки приходить в Linux, вона чує багато незрозумілих їй слів. Одним із таких слів є “Пакети“. І ні, це не ті пакети, в котрих рашиків додому відправляють… кхм. Тому давайте розберемося з пакетами в Linux, розглянемо гарні та не дуже сторони.

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

    Linux
  • Умови співпраці IT Company

    Вітаємо! Представляємо вашій увазі детальну інформацію про актуальні ціни та умови для розміщення реклами в сітці каналів IT-Company.

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

    Реклама

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

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

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

  • Найбільш оплачувані професії в Айті 2024

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

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

    It
  • Що таке пакети в Linux, і чому в Windows не так?

    Коли людина тільки приходить в Linux, вона чує багато незрозумілих їй слів. Одним із таких слів є “Пакети“. І ні, це не ті пакети, в котрих рашиків додому відправляють… кхм. Тому давайте розберемося з пакетами в Linux, розглянемо гарні та не дуже сторони.

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

    Linux
  • Умови співпраці IT Company

    Вітаємо! Представляємо вашій увазі детальну інформацію про актуальні ціни та умови для розміщення реклами в сітці каналів IT-Company.

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

    Реклама