Общий тип IO[AnyStr] и его подклассы TextIO(IO[str])< /code> и BinaryIO(IO[bytes]) представляют типы потоков ввода-вывода, например, возвращаемые open().
— Документация Python: typing.IO
В документации не указано, когда BinaryIO/
Код: Выделить всё
TextIO
Благодаря простой проверке источника Python Typeshed только 30 совпадений найдено при поиске BinaryIO и 109 совпадений по IO[bytes].
Я пытался переключиться на BinaryIO с IO[ bytes] для лучшей совместимости со sphinx-autodoc-typehints, но при переключении были нарушены многие проверки типов, поскольку такие методы, как tempfile.NamedTemporaryFile, вводятся как IO[bytes] вместо другое.
С точки зрения дизайна, каковы правильные ситуации для использования каждого типа этих подсказок по типам ввода-вывода?
Подробнее здесь: https://stackoverflow.com/questions/596 ... pe-hinting