Domanda

Ho un problema pitone molto frustrante. In questo codice

fixedKeyStringInAVar = "SomeKey"

def myFunc(a, b):
    global sleepTime
    global fixedKeyStringInAVar
    varMe=int("15")
    sleepTime[fixedKeyStringInAVar] = varMe*60*1000
    #more code

Ora questo funziona. Ma a volte quando ho eseguito questa funzione ottengo

TypeError: 'int' object does not support item assignment

E 'estremamente fastidioso quando ho provato diversi casi di test e non sono riuscito a riprodurre l'errore, ma accade molto spesso quando si esegue il codice completo. Il codice legge i dati da un db, siti di accesso, ecc quindi è difficile per me andare attraverso i dati dal momento che legge da diverse fonti e dipende ingresso 3a parte che cambia (siti web).

Che cosa potrebbe essere questo errore?

È stato utile?

Soluzione

  1. Non utilizzare global parola chiave in una funzione a meno che non si desidera cambiare legame di un nome globale.

  2. Cerca 'sleepTime =' nel codice. Si sono vincolanti un oggetto int al nome sleepTime ad un certo punto del programma.

Altri suggerimenti

Il tuo sleepTime è una variabile globale. Potrebbe essere modificata per essere un int ad un certo punto del programma.

L'assegnazione oggetto è il "foo [bar] = baz" costruzione nella funzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top