Краткая информация
Сравнивает два файла и возвращает результат сравнения. Сравнение файлов позволяет выявить различия между двумя ASCII- или двоичными файлами.
Использование
Этот инструмент выдает сообщение с результатами сравнения. По умолчанию этот инструмент завершает работу и выдает результат после обнаружения первого несоответствия при сравнении. Чтобы получить информацию о всех различиях, отметьте параметр Продолжить сравнение (Continue Comparison).
Этот инструмент поддерживает маскирование символов, слов и линий текста в файле ASCII. Например, файлы могут быть полностью совпадать кроме строк с датой и временем создания. Инструмент выявит несоответствия в этих файлах. Кроме того, небольшие вариации происходят из-за того, как каждая платформа хранит или обрабатывает числа. Это приводит к различиям в числовой точности на разных платформах. Платформа SunOS может предоставлять значение 415.999999999, тогда как платформа Windows XP предоставляет значение 416.000000000. Инструмент Сравнить файлы (File Compare) обладает несколькими функциями маскирования для обработки ложных сравнений. До сравнения новых текстовых файлов с существующими исходными файлами, отредактируйте исходные файлы, чтобы они включали эти особые символы маскирования.
- «#» – Самый прострой символ маскирования. Где бы не появлялся # в исходном файле, соответствующий символ в тестовом файле будет проигнорирован.
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)(BINARY в Python).
При обнаружении несоответствий в файлах ASCII, инструмент выдаст отчет о различиях (например, общее число символов различается) и сообщение о различиях для каждой линии.
При обнаружении несоответствий в бинарных файлах, инструмент выдаст отчет о различиях в размерах и сообщиться о различиях для каждого байта.
Выходной файл сравнения (Output Compare File) будет содержать все сходства и различия между Исходным файлом (Input Base File) и Тестовым файлом (Input Test File). Этот файл – текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS.
При использовании этого инструмента в Python вы можете получить статус инструмента, используя синтаксис result.getOutput(1). Значение будет равно 'true', если не было найдено различий, и 'false' – если различия были обнаружены.
Дополнительные сведения об использовании инструментов в Python
Синтаксис
FileCompare_management (in_base_file, in_test_file, {file_type}, {continue_compare}, {out_compare_file})
Параметр | Объяснение | Тип данных |
in_base_file | Сравниваются Исходный файл (Input Base File) с Тестовым файлом (Input Test File). Исходный файл ( Input Base File) принимается как файл, содержащий корректные данные. Вся хранящаяся в нем информация – верна. | File |
in_test_file | Тестовый файл (Input Test File) сопоставляется с Исходным файлом (Input Base File). Тестовый файл (Input Test File)обратится к файлу, к которому вы применили изменения, путем редактирования или компиляции новой информации. | File |
file_type (дополнительно) | Тип файлов, которые будут сравниваться:
| String |
continue_compare (дополнительно) | Определяет необходимость продолжения сравнения после обнаружения первого несовпадения.
| Boolean |
out_compare_file (дополнительно) | Данный файл будет хранить информацию обо всех совпадениях и отличиях Исходного файла (Input Base File) и Тестового файла (Input Test File). Этот файл – текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS. | File |
Пример кода
FileCompare, пример (окно Python)
Пример скрипта окна 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, пример (автономный скрипт).
Пример использования инструмента FileCompare в автономном скрипте.
# Name: FileCompare.py
# Description: Compare two text files and return comparison result.
# import system modules
import arcpy
try:
# 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())
except Exception as err:
print(err.args[0])
Параметры среды
Этот инструмент не использует параметры среды геообработки