From a1d3067f64be7f15a3480b076ef2de73678fe568 Mon Sep 17 00:00:00 2001 From: Ilia Miheev Date: Thu, 29 May 2025 16:35:59 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D0=B4=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20json=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=20=D0=B2=20=D0=BE=D1=82?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ipars/JsonManagerCode.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 ipars/JsonManagerCode.py diff --git a/ipars/JsonManagerCode.py b/ipars/JsonManagerCode.py new file mode 100644 index 0000000..c24f990 --- /dev/null +++ b/ipars/JsonManagerCode.py @@ -0,0 +1,33 @@ +import json +from pprint import pprint + +class JsonManager: + '''Класс для работы с json файлами во время парсинга''' + + def __init__(self, encoding: str = 'utf8'): + '''Конструктор + + encoding: кодировка открываемого файла''' + self.encoding = encoding + + def pprint(self, data: any) -> None: + '''Выводим данные в удобочитаемом виде + + data: данные которые надо вывести''' + pprint(data) + + def load(self, pathToJsonFile: str) -> json: + '''Получаем данные из json файла + + pathToJsonFile: путь до json файла''' + with open(pathToJsonFile, encoding=self.encoding) as jsonFile: + src = json.load(jsonFile) + return src + + def dump(self, pathToJsonFile: str, data: any) -> None: + '''Записываем данные в json файл + + pathToJsonFile: путь до json файла + data: данные которые надо записать''' + with open(pathToJsonFile, 'w', encoding=self.encoding) as jsonFile: + json.dump(data, jsonFile, indent=4, ensure_ascii=0) \ No newline at end of file