0
내가 2 개 모듈이 스레드에서 항목 할당을 지원하지 않습니다형식 오류 : 'INT'객체는
먼저 Keyboard.py
import USB,evdev,threading,sys
global codigo
codigo = [1]
class Teclado:
def __init__(self,port):
self.puerto = USB.usb(port)
def iniciar_teclado(self):
p = threading.Thread(target=self.puerto.obtener_evento,args=(codigo))
p.start()
while 1:
if codigo[0] == evdev.ecodes.KEY_A:
print('A')
elif codigo[0] == evdev.ecodes.KEY_B:
print('B')
및 USB.py : 그래서
import evdev,os,signal,sys
class usb:
def __init__(self,dev):
self.device = evdev.InputDevice(dev)
print(self.device)
def obtener_evento(self,c):
for event in self.device.read_loop():
if event.type == evdev.ecodes.EV_KEY and event.value == 1:
c[0] = event.code
을 스레드에서 변수를 참조로 전달하려면 단일 요소 목록을 사용합니다. 도움, 다음 코드를 참조로 촬영되었습니다 : 라인에
>>> c = [1]
>>> def f(list):
>>> list[0] = 'a'
>>> f(c)
>>> c[0]
'a'
하지만 내 코드에서
는c[0] = event.code
파이썬은 나에게
TypeError: 'int' object does not support item assignment
어떤 도움을 말해?