2013-08-30 1 views
0

Я хочу проверить правильность расширения данного файла. Например, кто-то дает мне файл с расширением .zip, но на самом деле это может быть исполняемый файл.Проверка расширения файла с помощью python

Использование mimetypes Не удалось определить реальный тип файла. Насколько мне известно, mimetypes нуждается в расширении.

Я могу отобразить вывод команды unix file с некоторыми расширениями. Даже если вы измените расширение, вы не можете обмануть команду file. Однако для этого решения необходим подпроцесс.

Я думал, что может возникнуть более питоновское решение этой проблемы. Кто-нибудь знает?

+0

@JesseJ Это не проблема t о мне. Он может обрабатываться как текстовый файл. Я хочу разделить архив, исполняемый файл, библиотеку и т. Д. –

ответ

0

В конечном счете, нет абсолютного способа узнать. По нескольким причинам:

  • В некоторых форматах файлов используются простые идентификаторы, а другие нет.
  • Для тех, кто этого не делает, единственный способ - это анализ поведения программы, способной поддерживать формат. Если программа может успешно открыть файл, то он принадлежит ей.
  • Но если нет, файл может принадлежать сотням форматов, с которыми у вас нет программы для открытия.

Боюсь, что вам нужно довольствоваться частичным ответом, как те, которые у вас уже есть.

 Смежные вопросы

  • Нет связанных вопросов^_^