Is there any correct type hint to use for a file or file-like object in Python? For example, how would I type-hint the return value of this function?
def foo():
return open('bar')
Use either the typing.TextIO
or typing.BinaryIO
types, for files opened in text mode or binary mode respectively.
From the docs:
class
typing.IO
Wrapper namespace for I/O stream types.
This defines the generic type
IO[AnyStr]
and aliasesTextIO
andBinaryIO
for respectivelyIO[str]
andIO[bytes]
. These representing the types of I/O streams such as returned byopen()
.