Вычислитель отличий - это универсальная программа, которая принимает на вход путь до конфигурационных файлов и возвращает описание различий между структурами данных файлов. Использование инструмента gendiff ликвидирует необходимость в дополнительной и оригинальной копии каталога.
- Поддержка форматов: json/yaml
- Генерация отчетов: plain, stylish, json
- Сравнение плоских файлов (JSON)
- Сравнение плоских файлов (YAML)
- Рекурсивное сравнение
- Плоский формат
- Вывод в JSON
| Инструменты | Описание |
|---|---|
| Poetry | Инструмент для управления зависимостями и создания виртуальных окружений в проектах на Python. |
| Py.Test | Фреймворк для тестирования, который позволяет легко писать и запускать тесты. |
| Flake8 | Инструмент для проверки стиля кода согласно стандартам PEP 8. |
-
Клонируйте репозиторий по ссылке:
git clone https://github.com/Maxcosanostra/python-project-50
-
Перейдите в директорию проекта:
cd python-project-50 -
Установите пакет:
make package-install
Пользователям доступны два способа сравнения файлов — из корневой директории проекта или непосредственно из директории, где находятся сравниваемые файлы. Выбор способа зависит от того, где Вы находитесь в файловой системе:
- Из корневой директории проекта: Укажите относительный путь от корневой директории до файлов. Например, если Вы находитесь в корне вашего проекта и файлы расположены в поддиректории tests/fixtures, используйте следующую команду:
gendiff tests/fixtures/file1.json tests/fixtures/file2.json- Из директории с файлами: Если вы находитесь в той же директории, где расположены сравниваемые файлы, можно запустить gendiff, указывая только имена файлов. Например:
gendiff file1.json file2.jsonНиже приведены команды запуска сравнения файлов из директории расположения самих файлов.
Сравнение строится на основе того, как изменилось содержимое во втором файле относительно первого, позволяющее быстро определить изменения в структуре данных JSON-файлов. Для сранения двух файлов используйте команду:
gendiff flat_file1.json flat_file2.jsonПоиск различий между двумя простыми, одноуровневыми YAML-файлами без вложенных структур. Легкочитаемый синтаксис помогает быстро ориентироваться в разнице между файлами.
Для сранения двух файлов используйте команду:
gendiff flat_file1.yml flat_file2.ymlДанным примером diff описывает то, что произошло с каждым ключом в diff. Например, был ли он добавлен, изменен или удален.
Для сранения двух файлов используйте команду:
gendiff file1.json file2.jsonPlain формат представляет данные в линейном виде. Это идеальный вариант для визуального ознакомления относительно различий между файлами, а также для простых текстовых отчетов, если нет необходимости в дополнительном парсинге.
Для сранения двух файлов используйте команду:
gendiff --format plain file1.json file2.jsonДанный вывод удобен для широкого применения, так как JSON формат поддерживается всеми современными языками программирования. Его легко парсить и обрабатывать данные с помощью множества доступных библиотек и инструментов. JSON поддерживает сложные структуры данных, такие как вложенные объекты и массивы, что позволяет точно и полно представлять данные.
Для сранения двух файлов используйте команду:
gendiff --format json file1.json file2.jsonПроект выполнен благодаря прохождению практики в Hexlet.io под руководством Рафаэля Мухаметшина
С Уважением, MaxCosaNostra