如何在 Python 3.8+ 中对类文件对象进行类型注释

问题描述 投票:0回答:1

以前,

typing.IO
typing.TextIO
typing.BinaryIO
可用于注释类似文件的对象,例如那些由
open()
返回的。然而,在 Python 3.8 之后,它们似乎已被弃用,并将在 Python 3.12 中删除。与许多其他弃用(例如被
typing.List[T]
取代的
list[T]
)不同,这些 IO 类型没有明确的迁移路径。

未来应该如何在现代 Python 中注释类似文件的对象类型?

python python-typing mypy
1个回答
4
投票

Python 3.9 docs 有一个不明确的通知:

“这些类型也位于

typing.io
命名空间中,类型检查器从未支持该命名空间,因此将被删除。”

在讨论中查看更多内容 “[文档] 令人困惑的 Typing.IO 弃用通知”

在文档的新版本中它已修复:

typing.io
命名空间已弃用并将被删除。这些类型应该直接从输入中导入。”

© www.soinside.com 2019 - 2024. All rights reserved.