Как игнорировать дополнительные аргументы, передаваемые в класс данных?Python

Программы на Python
Ответить
Anonymous
 Как игнорировать дополнительные аргументы, передаваемые в класс данных?

Сообщение Anonymous »

Я хотел бы создать класс данных конфигурации, чтобы упростить внесение в белый список определенных переменных среды и доступ к ним (вводить 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»