Сравнить файлы (Управление данными)

Краткая информация

Сравнивает два файла и возвращает результат сравнения.

Использование

  • Этот инструмент выдает сообщение с результатами сравнения. По умолчанию инструмент прекращает работу после обнаружения первого различия между входными данными. Чтобы получить информацию о всех различиях, включите параметр Продолжить сравнение.

  • Если различия, о которых сообщается между входными наборами данных, вызваны добавлением или удалением записей, допустимой является только первая указанная разница. Все выявленные различия после добавления или удаления будут вызваны несоответствием последовательности сравнения. Инструменты сравнения не пытаются найти следующий набор совпадающих записей после обнаружения добавленной или удаленной записи.

  • Этот инструмент позволяет выявить различия между двумя файлами ASCII или двумя бинарными файлами

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

    • "#" — везде, где во входном базовом файле появляется символ "#", соответствующий символ во входном тестовом файле будет проигнорирован.
      Base: Y delta = 9048.6#
      Test: Y delta = 9048.61
    • "??" — чтобы скрыть все слово целиком, добавьте "??" в начале слова.
      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 - тип файла по умолчанию. При использовании двоичных файлов в качестве входных данных измените параметр Тип файла на Бинарный.

  • При обнаружении несоответствий в файлах ASCII, инструмент выдаст отчет о различиях, например, общее число различающихся символов и различия в каждой строке.

  • При обнаружении несоответствий в бинарных файлах, инструмент выдаст отчет о различиях в размерах и сообщит о различиях для каждого байта.

  • Значение параметра Выходной файл сравнения будет содержать все сходства и различия между значениями параметров Входной базовый файл и Входной тестовый файл. Это текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS.

  • При использовании этого инструмента в Python получите статус сравнения из возвращенного объекта Result, используя положение индекса 1.(result[1]). Значение будет равно 'true', если не было найдено различий, и 'false' – если различия были обнаружены.

    Дополнительные сведения об инструментах в Python

Параметры

ПодписьОписаниеТип данных
Исходный файл

Файл, который будет сравниваться со значением параметра Входной тестовый файл. Значение этого параметра представляет собой файл, который вы считаете корректным. Этот базовый файл имеет правильное содержание и информацию.

File
Тестовый файл

Файл, который будет сравниваться со значением параметра Входной базовый файл. Значение этого параметра представляет собой файл, в который внесены изменения при редактировании или компиляции новой информации.

File
Тип файла
(Дополнительный)

Задает тип сравнения, используемый для файлов.

  • ASCIIФайлы будут сравниваться с использованием символов ASCII. Это значение по умолчанию
  • ДвоичныйФайлы будут сравниваться с использованием бинарного сравнения.
String
Продолжить сравнение
(Дополнительный)

Определяет, будет ли продолжаться сравнение после обнаружения первого различия между входными данными.

  • Не отмечено — инструмент прекращает работу после обнаружения первого различия. Это значение по умолчанию
  • Отмечено — инструмент продолжает работу после обнаружения первого различия.

Boolean
Выходной файл сравнения
(Дополнительный)

Выходной файл будет хранить информацию обо всех совпадениях и отличиях входных данных. Это текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS.

Выходной файл будет хранить информацию обо всех совпадениях и отличиях входных данных. Это текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS.

File

Производные выходные данные

ПодписьОписаниеТип данных
Статус сравнения

Статус сравнения будет 'true', если не было найдено различий, и 'false' – если различия были обнаружены.

Boolean

arcpy.management.FileCompare(in_base_file, in_test_file, {file_type}, {continue_compare}, {out_compare_file})
ИмяОписаниеТип данных
in_base_file

Файл, который будет сравниваться со значением параметра in_test_file. Значение этого параметра представляет собой файл, который вы считаете корректным. Этот базовый файл имеет правильное содержание и информацию.

File
in_test_file

Файл, который будет сравниваться со значением параметра in_base_file. Значение этого параметра представляет собой файл, в который внесены изменения при редактировании или компиляции новой информации.

File
file_type
(Дополнительный)

Задает тип сравнения, используемый для файлов.

  • ASCIIФайлы будут сравниваться с использованием символов ASCII. Это значение по умолчанию
  • BINARYФайлы будут сравниваться с использованием бинарного сравнения.
String
continue_compare
(Дополнительный)

Определяет, будет ли продолжаться сравнение после обнаружения первого различия между входными данными.

  • NO_CONTINUE_COMPAREИнструмент прекращает работу после обнаружения первого различия. Это значение по умолчанию
  • CONTINUE_COMPAREИнструмент продолжает работу после обнаружения первого различия.
Boolean
out_compare_file
(Дополнительный)

Выходной файл будет хранить информацию обо всех совпадениях и отличиях входных данных. Это текстовый файл с запятой в качестве разделителя, который можно просмотреть и использовать как таблицу в ArcGIS.

File

Производные выходные данные

ИмяОписаниеТип данных
compare_status

Статус сравнения будет 'true', если не было найдено различий, и 'false' – если различия были обнаружены.

Boolean

Пример кода

FileCompare, пример 1 (окно Python)

Пример скрипта окна Python для использования функции FileCompare в режиме прямого запуска.

import arcpy
arcpy.management.FileCompare(
    r'C:/Workspace/well_xycoordinates.txt', 
    r'C:/Workspace/new_well_coordinates.txt', 'ASCII', 'CONTINUE_COMPARE', 
    r'C:/Workspace/well_file_compare.txt')
FileCompare, пример 2 (автономный скрипт)

Следующий пример демонстрирует, как использовать функцию 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.management.FileCompare(base_file, test_features, 
                                              file_type, continue_compare, 
                                              compare_file)
print(compare_result)
print(arcpy.GetMessages())

Параметры среды

Этот инструмент не использует параметры среды геообработки

Связанные разделы