pitón, diccionario y error int
-
23-08-2019 - |
Pregunta
Tengo un problema pitón muy frustrante. En este código
fixedKeyStringInAVar = "SomeKey"
def myFunc(a, b):
global sleepTime
global fixedKeyStringInAVar
varMe=int("15")
sleepTime[fixedKeyStringInAVar] = varMe*60*1000
#more code
Ahora bien, esto funciona. Pero a veces cuando corro esta función consigo
TypeError: 'int' object does not support item assignment
Es muy molesto, ya he intentado varios casos de prueba y no podía reproducir el error, sin embargo, sucede muy a menudo cuando ejecuto el código completo. El código lee datos de una base de datos, sitios de acceso, etc. así que es difícil para mí ir a través de los datos ya que se lee de varias fuentes y depende de la entrada tercera parte que cambia (sitios web).
¿Cuál podría ser este error?
Solución
-
No utilice la palabra clave
global
en una función a menos que quisiera cambiar de unión de un nombre global. -
Búsqueda de '
sleepTime =
' en el código. Va a enlazar un objeto int al nombresleepTime
en algún momento de su programa.
Otros consejos
Su Sleeptime es una variable global. Podría ser cambiado para ser un entero en algún momento de su programa.
La asignación punto es el "foo [bar] = baz" construcción en su función.