python, dizionario ed errori int
-
23-08-2019 - |
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?
Soluzione
-
Non utilizzare
global
parola chiave in una funzione a meno che non si desidera cambiare legame di un nome globale. -
Cerca '
sleepTime =
' nel codice. Si sono vincolanti un oggetto int al nomesleepTime
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.