Существует библиотека node.js, названная named-regexp , которую вы можете использовать в проектах node.js (в браузере, упаковывая библиотеку с помощью браузера или других сценариев упаковки). Тем не менее, библиотека не может использоваться с регулярными выражениями, которые содержат неименованные группы захвата.
Если вы считаете открывающие скобки для захвата в своем регулярном выражении, вы можете создать сопоставление между именованными группами захвата и пронумерованными группами захвата в вашем регулярном выражении и может свободно смешиваться и сочетаться. Вам просто нужно удалить имена групп, прежде чем использовать регулярное выражение. Я написал три функции, которые демонстрируют это. См. Этот пункт: https://gist.github.com/gbirke/2cc2370135b665eee3ef
Я сделал похожий сценарий для отключения телевизора Roku моего ребенка, если он включен. Я буду держать это всю ночь, просто чтобы ребенок не смотрел телевизор ночью. (У нее есть TCL Roku TV). Если бы я рефакторинг кода для вашего использования, это выглядело бы примерно как
#import required libs
import keyboard
...
count = 0
while True:
if ledBlue.off() = true
sleep(1)
count += 1
if count == 10:
run_py="sudo python3 project.py"
os.system(run_py)
time.sleep(2)
restart_service="sudo restart service"
os.system(restart_service)
count = 0
elif keyboard.is_pressed('q'):
break
else:
pass
, это немного глупо, но да, зная метод внутри ledBlue()
может быть использован для оптимизации этого. Я добавил библиотечные библиотеки, потому что этот скрипт будет продолжать работать, так что вы сможете нажать «q», чтобы выйти из цикла.
вот мой оригинальный код:
def DenyRemote(self):
state = self.device_pw_state()
while True:
sleep(10)
if state == "PowerOn":
self.roku._post('/keypress/Power')
elif keyboard.is_pressed('q'):
break
else:
pass