Skip to content

"Вычислитель отличий". Программа вычисляет разницу между двумя древовидными структурами данных: поддерживаются разные входные форматы файлов: json, yaml; результат сравнения выводится в 3 разных форматах

Notifications You must be signed in to change notification settings

Sophia-Filimonova/python-project-50

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hexlet tests and linter status:

Actions Status .github/workflows/pyci.yml

Требования: python версии ^3.10, pip версии 22 и выше, пакетный менеджер poetry.

Склонируйте репозиторий проекта локально, из корневой директории проекта выполните установку пакета командой make install, выполните сборку проекта командой make build, установите пакет в систему командой make package-install.

Программа вычисляет разницу между двумя древовидными структурами данных:

  • поддерживаются разные входные форматы файлов: json, yaml
  • результат сравнения выводится в разных форматах: stylish (по умолчанию), plain и json

Сli-утилита принимает через командную строку два аргумента — пути до сравниваемых файлов first_file и second_file, и опцию -f(--format), отвечающую за выбор формата (stylish, plain или json):

usage: gendiff [-h] [-f FORMAT] first_file second_file

Пакет также можно использавать как библиотеку, которая предоставляет модуль gendiff с функцией generate_diff():

from gendiff import generate_diff

diff = generate_diff(path_to_file1, path_to_file2, format)

print(diff)

Здесь также обязательные аргументы path_to_file1 и path_to_file2 являются путями к сравниваемым файлам, необязательный параметр format выбирает вид представления результата и может принимать значения: stylish (по умолчанию, возвращает строку), plain (возвращает строку - плоский текст) и json (вывод в структурированном формате json).

Аскинема - Сравнение плоских файлов (JSON):

Аскинема - Сравнение плоских файлов (YAML):

Аскинема - Рекурсивное сравнение (JSON и YAML):

Аскинема - Плоский формат:

Аскинема - Вывод в JSON:

About

"Вычислитель отличий". Программа вычисляет разницу между двумя древовидными структурами данных: поддерживаются разные входные форматы файлов: json, yaml; результат сравнения выводится в 3 разных форматах

Resources

Stars

Watchers

Forks

Packages

No packages published