我想创建一个config
dataclass
以简化对特定环境变量的白名单和访问(打字os.environ['VAR_NAME']
相对于 而言是乏味的config.VAR_NAME
)。因此,我需要忽略我dataclass
的__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__() got an unexpected keyword argument 'SOME_DEFAULT_ENV_VAR'
。