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())