如何解决如何使用任意参数列表vararg键入提示可调用
def delete_file_if_exists():
"""Fixture providing a function that deletes a list of files of given filename it it exists
"""
def deletion_function(*args: AnyPath) -> None:
"""A function deleting the file of given path if it exists
:param args:The list of path to delete if file exists
"""
for arg in args:
if os.path.isfile(arg):
os.remove(arg)
return deletion_function
我想知道如何准确输入:
1.
def delete_file_if_exists() -> Callable[...,None]:
有效但不指定变量参数的类型
2.
def delete_file_if_exists() -> Callable[[List[AnyPath]],None]:
不起作用,但在其上运行 mypy 会出现以下异常:
Incompatible return value type (got "Callable[[Vararg(Union[str,bytes,_PathLike[str],_PathLike[bytes]])],None]",expected "Callable[[List[Union[str,_PathLike[bytes]]]],None]")
所以我想知道我是否可以用这个 Vararg(我无法导入)做些什么,或者我是否被一个省略号打字卡住了。
解决方法
您可以使用 mypy-extension 导入类型 VarArg。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。