У меня есть скрипт для загрузки различных сжатых файлов gzip и bz2.После того, как я их извлеку, я хочу написать скрипт для записи файла и добавить расширение на основе типа файла, содержащегося в нем.
Форматы файлов, о которых я беспокоюсь, включают в себя файлы xml, csv и txt, хотя я не особо обеспокоен разграничением файлов csv и txt (добавление расширения txt подходит для обоих).
Я использовал библиотеку python-magic, чтобы определить, какую библиотеку распаковки использовать (bz2 vs gzip), но хочу узнать, какой самый простой способ определить тип файла.Используя python-magic, я получил:
>>> ftype = m.from_file("xml_test.xml")
>>> ftype
'ASCII text'
>>> ftype = m.from_file("csv_test.csv")
>>> ftype
'ASCII text'
Мой текущий план - прочитать в первой строке каждого файла и сделать определение на основе этого.Есть ли более простой способ?
В ответ на ответ @ phihag, показывающий мне, как плохо я изначально сформулировал этот вопрос: я хочу кое-что, что сначала проверит, является ли файл допустимым XML, если нет, то проверьте, если онявляется допустимым CSV, и, наконец, если он не является допустимым CSV, но является допустимым простым текстом, верните его в качестве ответа
Примечание: здесь был частичный ответ здесь , но это решение описывает только проверку CSV, не XML, TXT и т. д.