6
Im nuovo con Python e la programmazione, ma cant sembra di capire il motivo per cui questa funzione non aggiorna la variabile globalePython globale variabile non aggiornare
global weight
weight = 'value'
def GetLiveWeight():
SetPort()
while interupt == False:
port.write(requestChar2)
liveRaw = port.read(9)
liveRaw += port.read(port.inWaiting())
time.sleep(0.2)
weight = liveRaw.translate(None, string.letters)
return weight
anche ho provato questo
weight = 'value'
def GetLiveWeight():
global weight
SetPort()
while interupt == False:
port.write(requestChar2)
liveRaw = port.read(9)
liveRaw += port.read(port.inWaiting())
time.sleep(0.2)
weight = liveRaw.translate(None, string.letters)
return weight
try:
threading.Thread(target = GetLiveWeight).start()
print liveWeight
except:
print "Error: unable to start thread"
Grazie, l'ho provato, ma ancora non riesco a ottenere la funzione per modificare la variabile di peso che sembra sempre essere impostata sul valore? – Rhys
Sei sicuro che la condizione 'interupt == False' (che è più comunemente scritta come' not interupt') è sempre True? In altre parole, sei sicuro che il codice all'interno di 'while-loop' sta per essere eseguito? – unutbu
sì, ho aggiunto una stampa nel ciclo while per emettere il peso variabile e funziona bene. Essa può avere qualcosa a che fare con il modo in cui io chiamo e 'provare: threading.Thread (= GetLiveWeight target) .start() stampa peso vivo eccezione: print 'Errore: impossibile avviare il thread'' – Rhys