这曾经与mypy的旧版本(0.6xx?)一起使用:
import pathlib
import shutil
from typing import Union
def f(x: Union[str, pathlib.Path]):
shutil.copyfile("bla", x)
但在抱怨的mypy 0.710中却没有:
error: Value of type variable "_AnyPath" of "copyfile" cannot be "Union[str, Path]"
应该如何解决?
答案 0 :(得分:0)
这似乎是唯一的方法:
import os
import shutil
from typing import TypeVar
_AnyPath = TypeVar("_AnyPath", str, os.PathLike)
def f(x: _AnyPath):
shutil.copyfile("bla", x)