Работа с yaml-файлом

Рейтинг: 0Ответов: 1Опубликовано: 06.06.2023

Есть yaml, его примерное содержание:

builds:
- name:name1
 tasks:
     -task1
     -task2
- name:name2
  tasks:
     -task3
     -task4

На ввод подается name, нужно вывести все task-и, которые находятся в одном словаре с этим name

Заранее спасибо за помощь!

Ответы

▲ 2Принят

Можно использовать библиотеку yaml

import yaml 

with open('config.yaml', 'r') as f:
    config = yaml.safe_load(f)

def get_tasks(name: str) -> list:
    for item in config['builds']:
        if item['name'] == name:
            return item.get('tasks')
        return [] # Если не нашел данного имени в файле

print(get_tasks('test'))

Здесь сначала в переменную config я выгружаю данные из yaml файла, они уже в формате словаря. Функцией get_tasks я достаю из словаря нужный ключ если он есть и его таски. Если ключ не будет найден то вернётся пустой массив.