Конвертация yaml в json Python

Содержание
Введение
Пример
Поиск по шаблону
Поиск по нескольким директориям
Поиск по вложенным директориям
Поиск скрытых файлов
iglob
Похожие статьи

Введение

Пример скрипта, который конвертирует .yaml файлы в .json а перед этим сохраняет бэкап.

Banner image

Пример

import yaml import json import time import shutil import os YAML_FILE_PATH = os.path.join(os.path.dirname(__file__), "openapi.yaml") JSON_FILE_PATH = os.path.join(os.path.dirname(__file__), "swagger.json") BACKUP_PATH = os.path.join(os.path.dirname(__file__), "backup") def yaml_file_to_json_file(yaml_file_path, json_file_path): with open(yaml_file_path, 'r') as yaml_file: yaml_data = yaml.safe_load(yaml_file) with open(json_file_path, 'w') as json_file: json.dump(yaml_data, json_file, indent=2) def backup(*args): for path in args: timestr = time.strftime("-%Y%m%d-%H%M%S") name = os.path.splitext(os.path.basename(path))[0] ext = os.path.splitext(os.path.basename(path))[1] name_with_time = name + timestr + ext dest = os.path.join(BACKUP_PATH, name_with_time) shutil.copyfile(path, dest) if __name__ == "__main__": if not os.path.exists(BACKUP_PATH): os.makedirs(BACKUP_PATH) backup(YAML_FILE_PATH, JSON_FILE_PATH) yaml_file_to_json_file(YAML_FILE_PATH, JSON_FILE_PATH)

Article author: Andrei Olegovich

Похожие статьи
Работа с файлами в Python
Python
Основы работы с файлами
Продвинутые приёмы
glob: Работа с несколькими файлами
shutil: Работа с несколькими файлами
os
pathlib
Скачать файл по сети
psutil: cистемные ресурсы
Обучение программированию на Python
Banner image

Search this site

Subscribe to Telegram channel @aofeed to follow new articles and updates to old ones

Go to channel

@aofeed

Ask a question in the Telegram group

@aofeedchat

Contacts and cooperation:
I recommend our hosting beget.ru
Write to info@urn.su, info@aredel.com if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: