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?

¿Fue útil?

Solución

  1. No utilice la palabra clave global en una función a menos que quisiera cambiar de unión de un nombre global.

  2. Búsqueda de 'sleepTime =' en el código. Va a enlazar un objeto int al nombre sleepTime 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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top