Я хочу прочитать файл YAML и преобразовать его в класс данных Python. Целью этого примера является создание одного и того же класса данных.
Без чтения файла YAML:
Я не могу понять, как часть kwargs OptionsSource позволяет мне предоставить любые аргументы ключевого слова и сохраните их, чтобы к ним можно было получить доступ с помощью options.inputs.source[0].c.
Я хочу прочитать файл YAML и преобразовать его в класс данных Python. Целью этого примера является создание одного и того же класса данных. Без чтения файла YAML: [code]from dataclasses import dataclass, field
[/code] [code]>>>print(options.inputs.source[0].c) 3 [/code] Теперь, когда я читаю этот YAML, мои выходные данные отличаются (т. е. класс данных OptionsSource не используется). [code]yaml_input = yaml.load(""" inputs: file: file1 source: - a: 1 b: 2 c: 3 - a: 10 b: 20 """, Loader=yaml.FullLoader)
options_from_yaml = Options(inputs=OptionsInput(**yaml_input['inputs'])) [/code] [code]>>>print(options_from_yaml) Options(inputs=OptionsInput(file='file1', source=[{'a': 1, 'b': 2, 'c': 3}, {'a': 10, 'b': 20}])) [/code] Мне нужен результат, чтобы options_from_yaml соответствовал параметрам. Мои две проблемы: [list] [*][code]source[/code] не является списком OptionsSource [*]Я не могу понять, как часть kwargs OptionsSource позволяет мне предоставить любые аргументы ключевого слова и сохраните их, чтобы к ним можно было получить доступ с помощью options.inputs.source[0].c. [/list]
Предположим, я хочу реализовать функцию маршрутизатора, которая будет принимать имя в качестве аргумента и, возможно, аргумент data.
Например, функция будет такой: вызывается с помощью:
route( main )
У меня проблема с определением сопоставления. Надеюсь, вы подскажете, как это исправить.
Моя первоначальная ситуация такова: у меня есть классы со вложенными классами. Большинство атрибутов вложенного во входные данные класса можно напрямую...
У меня есть два публичных класса в Python. Они не вложены. У них есть несколько личных атрибутов, а у второго класса есть объект, тип которого - первый класс. Мне нужно получить доступ к частным атрибутам объекта, который я создал во втором классе....