Я не знаю, как использовать регулярные выражения в куче кода, и я не уверен, как правильно его кодировать. Я пытался найти учебник, руководства, все. Но я до сих пор не понимаю, поэтому, пожалуйста, помогите мне исправить мой глупый код.
Резюме работы, я пытаюсь написать небольшую программу, которая контролирует клавиатуру моего компьютера через pyserial и с помощью помощь микробита. Например, когда нажата кнопка A, микробит отправляет данные на мой компьютер через uart и мою оболочку python в конце, получая сообщение, пытается сопоставить его и выполнить соответствующую команду.
Это код микробита
from microbit import *
uart.init(baudrate=57600, bits=8, parity=None, stop=1, tx=None, rx=None)
while True:
if button_a.is_pressed():
uart.write("Up")
display.show(Image.ARROW_NW)
if button_b.is_pressed():
uart.write("Down")
display.show(Image.ARROW_S)
else:
display.show(Image.ASLEEP)
Это код моего python end
import re
import serial
import keyboard
serialPort = serial.Serial(port = "COM5", baudrate=57600,
bytesize=8, timeout=2, stopbits=serial.STOPBITS_ONE)
serialString = ""
while(1):
(serialPort.in_waiting > 0)
serialString = serialPort.readline()
wordsa = ("up")
wordsb = ("down")
if():
words = [word.lower() for word in wordsa if re.match('^[a-zA-Z]+', word)]
keyboard.press_and_release('up')
Проблема в том, что я хочу иметь Чтобы сопоставить строку или данные, полученные от микробита через uart на serialString = serial.Port.readline()
, если микробит отправляет UP, я бы хотел, чтобы python совпадал с полученными данными UP или Down, затем нажмите клавишу клавиатуры UP или DOWN соответственно. После запуска этого моего дерьмового кода, никаких ошибок не появляется, и он не будет работать вообще. Я думаю, что это очень глупый вопрос, но, пожалуйста, помогите мне. Эта проблема уже сожгла дыру в моем мозгу.