python nonetype

python - Error al configurar el widget tkinter: el objeto ''NoneType'' no tiene atributo



(2)

Verifique el tipo de ''stock'' en q = nse.get_quote (stock)

Debe ser una cuerda. También nestools solo es compatible con Python2, no ha aclarado sobre su versión de Python.

Si aún enfrenta el problema al momento de leerlo, avíseme.

Estoy ejecutando el siguiente código que funciona bien cuando codifico el valor

from nsetools import Nse nse = Nse() with open(''all_nse_stocks'') as nse_stocks: for stock in nse_stocks: q = nse.get_quote(''INFY'') print q.get(''open''), ''/t'', q.get(''lastPrice''), ''/t'', q.get(''dayHigh''), ''/t'', q.get(''dayLow'')

veo que he codificado el valor nse.get_quote (''INFY'') Pero cuando ejecuto el siguiente código, aparece el siguiente error:

from nsetools import Nse nse = Nse() with open(''all_nse_stocks'') as nse_stocks: for stock in nse_stocks: q = nse.get_quote(stock) print q.get(''open''), ''/t'', q.get(''lastPrice''), ''/t'', q.get(''dayHigh''), ''/t'', q.get(''dayLow'')

ERROR:

Traceback (most recent call last): File "test.py", line 6, in <module> print q.get(''open''), ''/t'', q.get(''lastPrice''), ''/t'', q.get(''dayHigh''), ''/t'', q.get(''dayLow'') AttributeError: ''NoneType'' object has no attribute ''get''

Por favor ayuda


NoneType object has no attribute ... significa que tiene un objeto que es None e intenta utilizar un atributo de ese objeto.

En su caso, está haciendo q.get(...) , por lo que q debe ser None . Como q es el resultado de llamar a nse.get_quote(...) , esa función debe tener la posibilidad de devolver None . Tendrá que ajustar su código para tener en cuenta esa posibilidad, como verificar el resultado antes de intentar usarlo:

q = nse.get_quote(stock) if q is not None: print ...

La raíz del problema probablemente esté en cómo estás leyendo el archivo. stock incluirá la nueva línea, por lo que debe quitarla antes de llamar a nse.get_quote :

q = nse.get_quote(stock.strip())