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



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

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

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

"这些类型也在typing.io名称空间中,类型检查器从未支持它们,因此将被删除。">

请参阅讨论"[docs]关于键入。io "的令人困惑的弃用通知

在新版本的文档中,它被修复了:

"typing.io命名空间已弃用,将被删除。这些类型应该直接从键入中导入,而不是。">

相关内容

最新更新