Das Problem besteht darin, dass Zeichenfolgen identisch sind Zeitsequenzen von Zeichenfolgen der Länge 1 (z. B. einzelne Zeichen), sodass sie technisch gesehen mit Sequence[str] übereinstimmen, aber die Bereitstellung einer Zeichenfolge für eine Funktion, die eine Liste von Zeichenfolgen erwartet, ist in vielleicht 100 % der Fälle ein Fehler.
Gibt es eine Möglichkeit, Zeichenfolgen aus der Typanmerkung auszuschließen, um sie so zu gestalten, dass sie dem nicht vorhandenen And[Sequence[str], Not[str]] ähneln?
Zu diesem Zweck möchte ich diese Funktion mit Anmerkungen versehen:
Code: Select all
PathType = Union[str, os.PathLike]
def escape_cmdline(argv: Union[List[PathType], Tuple[PathType]]) -> str: ...