我有两个清单。我想创建一个Literal使用这两个列表
category1 = ["image/jpeg", "image/png"]
category2 = ["application/pdf"]
SUPPORTED_TYPES = typing.Literal[category1 + category2]
Run Code Online (Sandbox Code Playgroud)
有什么办法可以做到这一点吗?
我已经看到问题了输入:Dynamically Create Literal Alias from List of Valid Values但这对我的用例不起作用,因为我不想mimetype成为类型typing.Tuple。
我将使用Literal在函数中使用 -
def process_file(filename: str, mimetype: SUPPORTED_TYPES)
Run Code Online (Sandbox Code Playgroud)
我尝试过的 -
supported_types_list = category1 + category2
SUPPORTED_TYPES = Literal[supported_types_list]
SUPPORTED_TYPES = Literal[*supported_types_list]
# this gives 2 different literals, rather i want only 1 literal
SUPPORTED_TYPES = Union[Literal["image/jpeg", "image/png"], Literal["application/pdf"]]
Run Code Online (Sandbox Code Playgroud)