从登录Pynput复制键/鼠标操作

时间:2019-07-20 00:45:56

标签: python

我用python制作了这个键/鼠标记录器。我想在代码的第二部分中,python从日志中获取记录键/鼠标操作,并按照指定的时间复制它们。基本上是一只鹦鹉。可以肯定的是,我已经掌握了第一部分,现在我的代码制作了5条日志,用于记录action:asctime格式。 1:按键,2:释放键,3.按下鼠标并释放4.鼠标坐标移动5.滚动移动。到目前为止,我在第二部分所做的全部工作就是从日志中创建列表,这对我的目的没有用。因此,有谁知道我可以为此目的使用什么,单独列出?字典?我在想的是使代码占用第一个记录的时间,并将其用作其余时间的基础,我该如何在asctime中进行数学运算?以及如何循环以将所有单独的时间和动作传递给Pynput。还有一个小问题,我如何正确退出第1部分。我想出的一切都是引发错误,因为exit命令仅退出键盘录音机,而不退出鼠标。 第1部分的代码:

from pynput import mouse
from pynput.keyboard import Key, Controller, Listener
import logging

def setup_logger(logger_name, log_file, level=logging.INFO):
    l = logging.getLogger(logger_name)
    formatter = logging.Formatter('%(asctime)s, %(message)s')
    fileHandler = logging.FileHandler(log_file, mode='w')
    fileHandler.setFormatter(formatter)
    streamHandler = logging.StreamHandler()
    streamHandler.setFormatter(formatter)

    l.setLevel(level)
    l.addHandler(fileHandler)
    l.addHandler(streamHandler)


setup_logger('log1', "1txt.txt")
setup_logger('log2', "2txt.txt")
setup_logger('log3', "3txt.txt")
setup_logger('log4', "4txt.txt")
setup_logger('log5', "5txt.txt")
logger_1 = logging.getLogger('log1')
logger_2 = logging.getLogger('log2')
logger_3 = logging.getLogger('log3')
logger_4 = logging.getLogger('log4')
logger_5 = logging.getLogger('log5')
logger_1.info('LOG START TIME')


def on_press(key):
    logger_1.info(key)
    if key == Key.f12:
        exit()


def on_release(key):
    logger_2.info(key)

def on_click(x, y, button, pressed):
    if button == mouse.Button.left:
        logger_3.info('Left')
    if button == mouse.Button.right:
        logger_3.info('Right')
    if button == mouse.Button.middle:
        logger_3.info('Middle')

def on_move(x, y):
    logger_4.info(format(
        (x, y)))

def on_scroll(x, y, dx, dy):
    logger_5.info(format('Down' if dy < 0 else 'Up'))




with Listener(on_press=on_press, on_release=on_release) as listener, mouse.Listener(on_click=on_click, on_move=on_move, on_scroll=on_scroll) as mouselisten:
    listener.join()
    mouselisten.join()

第2部分:

from pynput.keyboard import Key, Controller
from pynput.mouse import Button, Controller
import logging
with open('1.txt', 'r') as f:
    myNames = [line.strip() for line in f]
print(f)
print(myNames)

0 个答案:

没有答案