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

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

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

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

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

  • Сравнение файлов позволяет выявить различия между двумя 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

Параметры

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

Сравниваются Исходный файл с Тестовым файлом. Исходный файл принимается как файл, содержащий корректные данные. Вся хранящаяся в нем информация – верна.

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

Тестовый файл сопоставляется с Исходным файлом. Тестовый файл обратится к файлу, к которому вы применили изменения, путем редактирования или компиляции новой информации.

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

Тип файлов, которые будут сравниваться:

  • ASCIIСравнение при помощи символов ASCII. Используется по умолчанию.
  • BINARYВыполнить двоичное сравнение.
String
Продолжить сравнение
(Дополнительный)

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

  • Не отмечено – останавливается при встрече с первым несоответствием. Используется по умолчанию.
  • Отмечено – сравнивает другие свойства после встречи с первым несоответствием.

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

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

File

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

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

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

Boolean

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

Сравниваются Исходный файл с Тестовым файлом. Исходный файл принимается как файл, содержащий корректные данные. Вся хранящаяся в нем информация – верна.

File
in_test_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.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, пример 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.FileCompare_management(base_file, test_features, 
                                              file_type, continue_compare, 
                                              compare_file)
print(compare_result)
print(arcpy.GetMessages())

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

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

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