Я хотел бы создать класс данных конфигурации, чтобы упростить внесение в белый список определенных переменных среды и доступ к ним (вводить os.environ['VAR_NAME'] утомительно по сравнению с config.VAR_NAME). Поэтому мне нужно игнорировать неиспользуемые переменные среды в функции __init__ моего класса данных, но я не знаю, как извлечь __init__ по умолчанию, чтобы обернуть его, например, функция, которая также включает *_ в качестве одного из аргументов.
Код: Выделить всё
import os
from dataclasses import dataclass
@dataclass
class Config:
VAR_NAME_1: str
VAR_NAME_2: str
config = Config(**os.environ)
Выполнение этой команды дает мне ошибку TypeError: __init__() получил неожиданный аргумент ключевого слова «SOME_DEFAULT_ENV_VAR».
Подробнее здесь:
https://stackoverflow.com/questions/546 ... -dataclass