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

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

Нічний читач

141Прочитань
16Автори
5Читачі
На Друкарні з 14 липня

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

  • Перетворення з арабської системи числення на римську з roman

    Всіх вітаю! По-перше, я радий, що Друкарня буде існувати. По-друге, я продовжуюю свою діяльність, хоч і з набагато більшими паузами. Отже, у новій статті ми обговоримо як перетворювати арабської системи числення на римську за допомогою невеличкої бібліотеки roman.

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

    Програмування
  • Подяка Друкарні за її існування та погляд у майбутнє своєї діяльності

    Всіх вітаю! Нажаль сьогоднішня стаття не про Python, не про якусь нову цікаву бібліотеку чи функціонал — вона про мої загальні думки щодо моєї діяльності. Напевно усі ви вже бачили повідомлення на Друкарні про згортання їхньої діяльності, і це сумно.

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

    Подяка Друкарні
  • Додаткові властивості словників у Python

    Сьогодні ми поговоримо про деякі додаткові властивості словників, які надають бібліотеки bidict та frozendict. У цій статті ми розглянемо обидві бібліотеки та їх функції по черзі.

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

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

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

  • Хешування паролів: використання солі та bcrypt

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

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

    Security
  • Бінарні дерева

    Стаття про бінарні дерева. Алгоритми. Різниця між графом і деревом. Складність алгоритмів для дерева. Число Стралера. Обхід дерев. Використання та порівняння дерев.

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

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

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

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

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

  • Хешування паролів: використання солі та bcrypt

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

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

    Security
  • Бінарні дерева

    Стаття про бінарні дерева. Алгоритми. Різниця між графом і деревом. Складність алгоритмів для дерева. Число Стралера. Обхід дерев. Використання та порівняння дерев.

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

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