¿Hay alguna sugerencia de tipo correcto para usar para un archivo o un objeto similar a un archivo en Python? Por ejemplo, ¿cómo escribiría-insinuaría el valor de retorno de esta función?
def foo():
return open('bar')
python
type-hinting
Mark Amery
fuente
fuente

def f() -> IO: return open('test')da "Tipo esperado 'IO', obtuvo 'TextIOWrapper [str]' en su lugar" en PyCharm.IO[str]?La respuesta corta:
from typing import TextIOno es justofrom typing import *.IOpara referirse a un archivo sin especificar de qué tipoTextIOoBinaryIOsi conoce el tipoComo ejemplo:
from typing import BinaryIO def binf(inf: BinaryIO): pass with open('x') as f: binf(f)da un error de inspección (en PyCharm) de
Expected type 'BinaryIO', got 'TextIO' insteadfuente