Запустить два файла Python с бесконечным циклом в другом файле Python

У меня есть два файла Python, один для прослушивания клавиатуры и другой для мыши, у каждого из этих двух файлов есть слушатель, который представляет собой бесконечный цикл. когда я хочу вызвать эти два файла из моего main.py, он просто запускает первый.

Слушатель клавиатуры

from pynput.keyboard import Key, Listener

def on_press(key):
   print(key)

with Listener(on_press=on_press) as listener:
    listener.join()

Слушатель мыши

from pynput.mouse import Listener

def on_click(x, y, button, pressed):       
    print(button)

with Listener(on_click=on_click) as listener:
    listener.join()

Главный

import KeyboardL
import MouseL

Я также попытался запустить его с помощью os.system('python MouseL.py & KeyboardL.py &'), но он все еще мог запустить первый. Большое спасибо за помощь.

1 ответ

Вам нужно будет использовать отдельные потоки или подпроцессы, чтобы он не блокировал основной процесс.

Потоки: https://docs.python.org/2/library/threading.html

Подпроцессы: https://docs.python.org/2/library/subprocess.html

Другие вопросы по тегам