【问题标题】:How to type-annotate a file-like object in Python 3.8+如何在 Python 3.8+ 中对类文件对象进行类型注释
【发布时间】:2021-11-09 05:34:19
【问题描述】:

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

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

【问题讨论】:

    标签: python type-hinting mypy python-typing


    【解决方案1】:

    Python 3.9 docs 有一个不清楚的通知:

    “这些类型也在 typing.io 命名空间中,类型检查器从不支持,将被删除。”

    "[docs] Confusing deprecation notice for typing.IO"的讨论中查看更多信息

    在文档的new version 中已修复:

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

    【讨论】:

    • 哦,我明白了,所以这些类型本身实际上并没有被弃用。我们只是应该用typing.IO等替换typing.io.IO
    猜你喜欢
    • 2023-04-11
    • 1970-01-01
    • 2020-10-03
    • 2021-06-06
    • 1970-01-01
    • 2020-06-06
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    相关资源
    最近更新 更多