从文档中,它说:
泛型类型
IO[AnyStr]及其子类TextIO(IO[str]),BinaryIO(IO[bytes])表示 I/O 流的类型,例如由open().— Python 文档:
typing.IO
文档没有指定何时BinaryIO/TextIO应用于其对应物IO[str]和IO[bytes].
通过Python Typeshed源的一个简单的检查,只有30命中发现搜索时BinaryIO,和109分的命中了IO[bytes]。
我试图切换到BinaryIOfromIO[bytes]以更好地与sphinx-autodoc-typehints兼容,但是切换已经破坏了许多类型检查,因为像这样的方法tempfile.NamedTemporaryFile被键入IO[bytes]而不是另一个。
从设计角度来说,使用这些 IO 类型提示的每种类型的正确情况是什么?