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