直接用typing.get_args即可
代码如下:
from typing import Literal, get_args
system = Literal['linux', 'win32', 'darwin']
system_tuple = get_args(system)
print(system_tuple)
# ('linux', 'win32', 'darwin')
assert system_tuple == ('linux', 'win32', 'darwin')
system_list = list(get_args(system))
print(system_list)
# ('linux', 'win32', 'darwin')
assert system_list == ['linux', 'win32', 'darwin']
Usage
import sys
import typing
SystemName = typeing.Literal['linux', 'win32', 'darwin']
def get_os_system() -> SystemName:
return sys.platform
def is_system_name(value: str) -> bool:
return value in typing.get_args(SystemName)