【发布时间】:2019-07-07 18:25:27
【问题描述】:
我想创建一个configdataclass,以简化对特定环境变量的白名单和访问(输入os.environ['VAR_NAME'] 相对于config.VAR_NAME 来说很乏味)。因此,我需要在我的dataclass 的__init__ 函数中忽略未使用的环境变量,但我不知道如何提取默认的__init__ 以便将其包装为例如还包含@987654328 的函数@ 作为参数之一。
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'。
【问题讨论】:
标签: python python-3.x python-dataclasses