6
Im nowe z Pythonie i programowania Ale nie wydaje się zrozumieć, dlaczego ta funkcja nie aktualizuje zmienną globalnąPython Globalna zmienna nie aktualizowanie
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
również próbowałem to
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"
Dzięki temu próbowałem, ale nadal nie mogę uzyskać funkcji zmiany zmiennej wagi, która zawsze wydaje się być ustawiona na wartość? – Rhys
Czy jesteś pewien, że warunek "interupt == Fałsz" (który jest częściej pisany jako "nie przerywać") jest zawsze prawdziwy? Innymi słowy, czy jesteś pewien, że kod w '' while-loop' jest wykonywany? – unutbu
Tak, dodałem wydruk do pętli while, aby wyprowadzić zmienną masę i działa dobrze. Może to mieć coś wspólnego ze sposobem, że wzywam go 'spróbować: threading.Thread (target = GetLiveWeight) .start() druku żywej masy wyjątkiem: print "Błąd: Nie można uruchomić wątek"' – Rhys