Сводка
Сравнивает два файла и возвращает результат сравнения.
Использование
Этот инструмент выдает сообщение с результатами сравнения. По умолчанию этот инструмент завершает работу и выдает результат после обнаружения первого несоответствия при сравнении. Чтобы получить информацию о всех различиях, отметьте параметр Продолжить сравнение.
Сравнение файлов позволяет выявить различия между двумя ASCII- или бинарными файлами.
Этот инструмент поддерживает маскирование символов, слов и линий текста в файле ASCII. Например, файлы могут быть полностью совпадать, кроме строк с датой и временем создания. Инструмент выявит несоответствия в этих файлах. Кроме того, небольшие вариации происходят из-за того, как каждая платформа хранит или обрабатывает числа. Это приводит к различиям в числовой точности на разных платформах. Платформа SunOS может предоставлять значение 415.999999999, тогда как платформа Windows XP предоставляет значение 416.000000000. Инструмент Сравнить файлы обладает несколькими функциями маскирования для обработки ложных сравнений. До сравнения новых текстовых файлов с существующими исходными файлами, отредактируйте исходные файлы, чтобы они включали эти особые символы маскирования.
- «#» - Самый построй символ маскирования. Где бы не появлялся # в исходном файле, соответствующий символ в тестовом файле будет проигнорирован.
Base: Y delta = 9048.6# Test: Y delta = 9048.61
- "??"– другой инструмент маскирования представляет комбинацию символов «??» Чтобы маскировать целый символ «word», добавьте «??» в начало слова.
Base: Processing ??ESRI1/ARCIGDS/TESTRUN/CONV/ARCIGDS/CPXSHAPE.DGN Test: Processing ESRI2/ARCIGDS/TESTRUN/CONV/ARCIGDS/CPXSHAPE2.DGN
- "?!"– один знак может иметь встроенную в него '.' (точку). Наглядным примером этого может быть имя файла с расширением — streetnames.dbf. Бывают случаи, когда при сравнении знака необходимо игнорировать часть имени до или после «.»для сравнения с токеном.
Base: Master table is: streetnames?!.dbf Test: Master table is: streetnames
- "???"– позволяет маскировать всю строку.
Base: ??? 8 4 1 0 14 10 Test: 12 8 2 1 16 12
- «#» - Самый построй символ маскирования. Где бы не появлялся # в исходном файле, соответствующий символ в тестовом файле будет проигнорирован.
ASCII - тип файла по умолчанию. При вводе двоичных файлов, смените тип файла на Бинарный(BINARY в Python).
При обнаружении несоответствий в файлах ASCII, инструмент выдаст отчет о различиях (например, общее число символов различается) и сообщение о различиях для каждой линии.
При обнаружении несоответствий в бинарных файлах, инструмент выдаст отчет о различиях в размерах и сообщиться о различиях для каждого байта.
Выходной файл сравнения будет содержать все сходства и различия между Исходным файлом и Тестовым файлом. Этот файл – текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS.
При использовании этого инструмента в Python вы можете получить статус инструмента, используя синтаксис result.getOutput(1). Значение будет равно 'true', если не было найдено различий, и 'false' – если различия были обнаружены.
Дополнительные сведения об использовании инструментов в Python
Синтаксис
FileCompare(in_base_file, in_test_file, {file_type}, {continue_compare}, {out_compare_file})
Parameter | Объяснение | Тип данных |
in_base_file | Сравниваются Исходный файл с Тестовым файлом. Исходный файл принимается как файл, содержащий корректные данные. Вся хранящаяся в нем информация – верна. | File |
in_test_file | Тестовый файл сопоставляется с Исходным файлом. Тестовый файл обратится к файлу, к которому вы применили изменения, путем редактирования или компиляции новой информации. | File |
file_type (Дополнительный) | Тип файлов, которые будут сравниваться:
| String |
continue_compare (Дополнительный) | Определяет необходимость продолжения сравнения после обнаружения первого несовпадения.
| Boolean |
out_compare_file (Дополнительный) | Данный файл будет хранить информацию обо всех совпадениях и отличиях Исходного файла и Тестового файла. Этот файл – текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS. | File |
Производные выходные данные
Name | Объяснение | Тип данных |
compare_status | Статус сравнения будет равно 'true', если не было найдено различий, и 'false' – если различия были обнаружены. | Boolean |
Пример кода
Пример скрипта окна Python для использования функции FileCompare в режиме прямого запуска.
import arcpy
arcpy.FileCompare_management(
r'C:/Workspace/well_xycoordinates.txt',
r'C:/Workspace/new_well_coordinates.txt', 'ASCII', 'CONTINUE_COMPARE',
r'C:/Workspace/well_file_compare.txt')
Пример использования инструмента FileCompare в автономном скрипте.
# Name: FileCompare.py
# Description: Compare two text files and return comparison result.
# import system modules
import arcpy
# Set local variables
base_file= "C:/Workspace/well_xycoordinates.txt"
test_file= "C:/Workspace/new_well_coordinates.txt"
file_type = "ASCII"
continue_compare = "CONTINUE_COMPARE"
compare_file = "C:/Workspace/well_file_compare.txt"
# Process: FeatureCompare
compare_result = arcpy.FileCompare_management(base_file, test_features,
file_type, continue_compare,
compare_file)
print(compare_result)
print(arcpy.GetMessages())
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да