在另一个python文件中运行带有infinity循环的两个python文件

时间:2018-05-03 10:10:01

标签: python multithreading multitasking keylogger

我有两个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 个答案:

答案 0 :(得分:0)

您需要使用单独的线程或子进程,因此它不会阻止主进程。

线程:https://docs.python.org/2/library/threading.html

子流程:https://docs.python.org/2/library/subprocess.html