---
title: "Откриване на файлов формат при зареждане"
---


Понякога е необходимо да се определи форматът на документа преди отваряне, защото разширението на файла не гарантира, че съдържанието на файла е подходящо. Например, известно е, че Crystal Reports често издава документи в RTF формат, но им дава .doc разширение.

Aspose.Words предоставя възможност за получаване на информация за типа на файла, за да се избегне изключение, ако не сте сигурни какво е действителното съдържание на файла.

## Откриване на файлов формат без изключение

Когато се занимавате с множество документи в различни формати на файлове, може да се наложи да отделите тези файлове, които могат да бъдат обработвани от Aspose.Words от тези, които не могат. Може да искате да знаете защо някои от документите не могат да бъдат обработени.

Ако се опитате да заредите файл в [Document](https://reference.aspose.com/words/python-net/aspose.words/document/) обект и Aspose.Words не може да разпознае формата на файла или форматът не се поддържа, Aspose.Words ще направи изключение. Можете да хванете тези изключения и да ги анализирате, но Aspose.Words и осигурява [detect_file_format](https://reference.aspose.com/words/python-net/aspose.words/fileformatutil/detect_file_format/) метод, който ни позволява бързо да определим формата на файла, без да зареждаме документ с възможни изключения. Този метод връща a [FileFormatInfo](https://reference.aspose.com/words/python-net/aspose.words/fileformatinfo/) обект, който съдържа засечената информация за типа файл.

{{% alert color="primary" %}}

[detect_file_format](https://reference.aspose.com/words/python-net/aspose.words/fileformatutil/detect_file_format/) само проверява формата на файла, но не потвърждава формата на файла. Няма гаранция, че файлът ще бъде отворен успешно, дори ако [detect_file_format](https://reference.aspose.com/words/python-net/aspose.words/fileformatutil/detect_file_format/) връща, че е един от поддържаните формати. Това е заради [detect_file_format](https://reference.aspose.com/words/python-net/aspose.words/fileformatutil/detect_file_format/) метод чете само частично файлов формат данни, достатъчни за проверка на формата на файла, но не достатъчно за пълно валидиране.

{{% /alert %}}

## Проверка на съвместимостта на файловия формат

Можем да проверим съвместимостта във формат на всички файлове в избраната папка и да ги сортираме по формат в съответните подпапки.

Тъй като ние се занимаваме със съдържанието в папка, първото нещо, което трябва да направите е да получите колекция от всички файлове в тази папка с помощта на **listdir** метод на **os** модул.

Следният пример за код показва как да получите списък на всички файлове в папката:

{{< gist "aspose-words-gists" "e9d8f984dac599756ccb4a64b8c79768" "Examples-DocsExamples-DocsExamples-File Formats and Conversions-working_with_file_format-GetListOfFilesInFolder.py" >}}

Когато всички файлове са събрани, останалата част от работата се извършва от [detect_file_format](https://reference.aspose.com/words/python-net/aspose.words/fileformatutil/detect_file_format/) метод, който проверява формата на файла.

Следният пример за код показва как да се итератира върху събрания списък от файлове, да се провери формата на всеки файл и да се премести всеки файл в съответната папка:

{{< gist "aspose-words-gists" "e9d8f984dac599756ccb4a64b8c79768" "Examples-DocsExamples-DocsExamples-File Formats and Conversions-working_with_file_format-CheckFormatCompatibility.py" >}}

Файловете се преместват в подходящи подпапки с помощта на **копиране на файл** метод на **shutil** модул.

В горния пример се използват следните файлове. Името на файла е отляво и описанието му е отдясно:

| Group на файлове | Входен документ | Тип |
|  :-  |  :-  |  :-  |
| Поддържани файлови формати | Тестов файл (doc).doc | Microsoft Word 95/ 6. 0 или Microsoft Word 97 - 2003 г. документ. |
|  | Тестов файл (`Dot`). точка | Microsoft Word 95/ 6. 0 или Microsoft Word 97 за 2003. |
|  | Тестов файл (Docx).docx | Office Open XML Wordprocessing Документ на ML без макроси. |
|  | Тестов файл (Doccm).docm | Office Open XML Wordprocessing ML документ с макроси. |
|  | Тестов файл (Dotx). dotx | Office Open XML Wordprocessing Образец ML. |
|  | Тестов файл (Dotm). точка | Office Open XML Wordprocessing Образец ML с макроси. |
|  | Тестов файл (XML). xml | FlatOPC OOXML документ. |
|  | Тестов файл (RTF). rtf | Документ с богат текстов формат. |
|  | Тестов файл (WordML). xml | Microsoft Word 2003 Обработка на думи Документ на ML. |
|  | Тестов файл (HTML).html | HTML документ. |
|  | Тестов файл (MHTML). mhtml | MHTML (Уеб архив) документ. |
|  | Тестов файл (Odt).odt | Open Document Text (OpenOffice Writer). |
|  | Тестов файл (Ott).ott | Шаблон с отворен документ. |
|  | Тестов файл (docPreWord60).doc | Microsoft Word 2.0 документа. |
| Кодирани документи | Тестов файл (Enc).doc | Шифрована Microsoft Word 95/ 6. 0 или Microsoft Word 97 - 2003 г. документ. |
|  | Тестов файл (Enc).docx | Шифрована Office Open XML обработка на думи Документ на ML. |
| Неподдържани файлови формати | Тестов файл (JPG). jpg | Файл с изображения JPEG. |

