Как правильно добавить подсказки типа после загрузки файла YAML? - PullRequest
1 голос
/ 28 апреля 2020

Я добавляю подсказки типов в мой код Python, и мне было интересно, как правильно подсказывать тип загруженного файла YAML, поскольку это словарь с любым количеством словарей.

Есть ли лучший способ подсказки типа, возвращающий загруженный файл YAML, чем Dict[str, Dict[str, Any]]?

Вот функция:

def load_yaml(yaml_in: str) -> Dict[str, Dict[str, Any]]:
    return yaml.load(open(yaml_in), Loader=yaml.FullLoader)

Вот пример загружаемого файла YAML:

VariableMap:
    var1: 'time'
    var2: 'param_name'

GlobalVariables:
    limits:
        x-min:
        x-max:
        y-min:
        y-max:

Plots:
    plot1:
        file: 
        x_data: 'date'
        y_data: [{param: 'param1', label: "param1", color: 'red', linestyle: '-'},
                 {param: 'param2', label: "param2", color: 'black', linestyle: '--'}]
        labels:
            title: {label: 'title', fontsize: '9'}
            x-axis: {xlabel: 'x-label', fontsize: '9'}
            y-axis: {ylabel: 'y-label', fontsize: '9'}
        limits:
            x-min: 0
            x-max: 100
            y-min:
            y-max:

Figures:
    fig1:
        shape: [1, 1]
        size: [6, 8]
        plots: ['plot1']
...