gpt4 book ai didi

Python mypy 类型提示 shutil.copyfileobj() 具有不兼容的类型 "Union[HTTPResponse, BinaryIO]";预期 IO[任何]

转载 作者:行者123 更新时间:2023-11-28 19:09:27 27 4
gpt4 key购买 nike

我收到以下代码的以下 mypy 错误。我如何才能正确转换响应对象,以便 mypy 满意我将其传递给 shutil.copyfileobj 方法?

错误:“copyfileobj”的参数 1 具有不兼容的类型“Union[HTTPResponse, BinaryIO]”;预期 IO[任何]

以下代码将 Web 请求的响应流式传输到文件。

request = urllib.request.Request(get_file_url, headers=self.data_api_headers)

with urllib.request.urlopen(request) as response:
with open(export_file_path, 'wb') as out_file:

shutil.copyfileobj(response, out_file)

最佳答案

这是 a bug in typeshed

HTTPResponse stub 没有从 BinaryIO 扩展,因此不被认为是采用 IO[bytes] 的函数的候选者 --这已被修复

这个修复应该会出现在 mypy 的下一个版本中(如果我猜对了他们的版本方案,应该是 0.620)。或者,您可以使用 --custom-typeshed-dir 运行 mypy 以更快地获取更改

关于Python mypy 类型提示 shutil.copyfileobj() 具有不兼容的类型 "Union[HTTPResponse, BinaryIO]";预期 IO[任何],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42234589/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com