Проблема в том, что строки совпадают временные последовательности строк длиной 1 (например, отдельные символы), поэтому они технически соответствуют Sequence[str], но предоставление строки функции, ожидающей список строк, является ошибкой, возможно, в 100% случаев.
Есть ли способ исключить строки из аннотации типа, чтобы сделать ее чем-то похожим на несуществующую And[Sequence[str], Not[str]]?
Что касается цели, я хотел бы аннотировать эту функцию:
Код: Выделить всё
PathType = Union[str, os.PathLike]
def escape_cmdline(argv: Union[List[PathType], Tuple[PathType]]) -> str: ...
Подробнее здесь: https://stackoverflow.com/questions/449 ... or-strings