Как я могу проверить файл типа содержимого, загруженный в python? - PullRequest
0 голосов
/ 12 июля 2020

Я хочу проверить, какой тип файла был загружен на мой сайт. У меня есть тег <input type="file"> в моем HTML, который пользователь может использовать для загрузки. Есть ли способ проверить, какой тип файла без расширения?

Например:

user uploads `aFile.txt`

Вывод приложения:

uploaded file is mp3

Я не хочу проверить расширение файла. Я хочу проверить фактическое содержимое файла.

Ответы [ 2 ]

2 голосов
/ 12 июля 2020

Использовать python-magic библиотеку

>>> import magic
>>> magic.from_file("testdata/test.pdf")
'PDF document, version 1.2'
# recommend using at least the first 2048 bytes, as less can produce incorrect identification
>>> magic.from_buffer(open("testdata/test.pdf").read(2048)) 
'PDF document, version 1.2'
>>> magic.from_file("testdata/test.pdf", mime=True)
'application/pdf'
0 голосов
/ 12 июля 2020

Используйте модуль re:

import re
#Place this in a loop if required to open multiple files.
with open('aFile.txt') as f :
    match = re.findall('<input type="file">',f.read())
    if match :
        print('Do your stuff')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...