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