Работа с yaml-файлом
Есть yaml, его примерное содержание:
builds:
- name:name1
tasks:
-task1
-task2
- name:name2
tasks:
-task3
-task4
На ввод подается name, нужно вывести все task-и, которые находятся в одном словаре с этим name
Заранее спасибо за помощь!
Ответы (1 шт):
Автор решения: MWorld
→ Ссылка
Можно использовать библиотеку 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 я достаю из словаря нужный ключ если он есть и его таски. Если ключ не будет найден то вернётся пустой массив.